Posts

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

Awarded Friend of Redgate – 2019

Friend of Redgate – 2019

  I’m excited to announce that I have been named a <a href="https://www.red-gate.com/hub/events/friends-of-rg">Friend of Redgate</a> for 2019, my forth year in a row! The program targets influential people in their respective technical communities such as SQL,.NET and DevOps and enables us to participate in the conversation around product and community development.

  As a multi-year awardee in the program I get to see first hand the continuing dedication Redgate has to the SQL community and to making great software. I met a ton of really cool, very dedicated people along the way. Thanks for the recognition and I look forward to another great year!

  <a href="http://www.red-gate.com/">Redgate</a> makes outstanding products! While I focus mainly on the DBA side of things such as SQL Monitor, SQL Backup and SQL Prompt there are many <a href="http://www.red-gate.com/products/">more</a>. I’ve used these tools for years and let’s just say they’re awesome.

  Redgate isn’t just software, they’re committed to community and education. Here are some of the things they do to support technical communities:

<ul>
  <li>
    **Online resources** – <a href="http://www.simple-talk.com/">SimpleTalk</a>, <a href="http://www.sqlservercentral.com/">SQL Server Central</a>, and <a href="http://www.red-gate.com/community/books/index">books and Free eBooks</a>. These resources aren’t marketing fluff, it’s killer content written by real experts
  </li>
  <li>
    **Events** – hosting events, exhibiting at events and supporting user groups across the world. One word can describe this, engaged
  </li>
</ul>

  **Thank you to Redgate for this opportunity!** I look forward to participating in this program, sharing my thoughts and learning as much as I can from all involved.

  <a href="https://www.red-gate.com/hub/events/friends-of-rg"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://cdn2.hubspot.net/hubfs/305265/FORG%20logo%202019_small_2.png" alt="" /></a>

  **If you need you’d like to talk about Redgate’s products and where they fit into your SQL Server system please feel free to contact me.**

  ** **

  **Follow me on Twitter: <a href="https://twitter.com/nocentino">@nocentino</a>**

  **Email: <a href="mailto:aen@centinosystems.com?subject=mentoring">aen@centinosystems.com</a>**

  **Web: <a href="http://www.centinosystems.com/">www.centinosystems.com</a>**

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>

Speaking at SQLSaturday Nashville – 815!

Speaking at SQLSaturday Nashville – 815!

I’m proud to announce that I will be speaking at SQL Saturday Nashville on January 12th 2019! And wow, 815 SQL Saturdays! This one won’t let you down. Check out the amazing schedule!

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! Sign up now!

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

We Speak Linux – OpenSSH For Windows Pros

I’m proud to announce that I will be speaking at this months We Speak Linux Webinar. Each month We Speak Linux brings cross platform training to the Windows world. Sign up now here!

On Thursday, December 2 at 11:00 Central I’m presenting:

OpenSSH for Windows Pros

Here’s the abstract:

In PowerShell Core we can use OpenSSH as the transport layer to carry our remoting sessions between our systems. In this session we’ll look at OpenSSH architecture, Authentication methods, including key authentication, sshd configuration, and troubleshooting methods when things go wrong!

Testing if a Port is Open With PowerShell

Ever want to confirm that a port is accessible from one computer to another? There’s a PowerShell cmdlet for that, Test-NetConnection. With the -Port option, this cmdlet will do a quick TCP three-way handshake on the remote system to confirm that the service is available and reports back if it succeeded or not. Check out that last line of output TcpTestSucceeded: False. That indicates that this port is not accessible. You can see, however, that the system is reachable via ICMP (Ping), PingSuceeded: True so we know that the remote system is alive, just not listening on the port we want to access.

My Current Training Courses on Pluralsight!

Here’s a run down of the Linux training that I have available on Pluralsight!

Just getting started!

Understanding and Using Essential Tools for Enterprise Linux 7 – If you heard what Linux is and want to get started this is the place to be. We’ll cover installation, command line basics, the file system, text editors and more! This is my most popular course.

SQL Server on Linux Administration Fundamentals – SQL Server is available for Linux and Docker! This course is targeted towards both the SQL Server DBA and the Linux professional to get you started using SQL Server on Linux. We cover architecture, administration basics, Tools and backup and recovery!

SQL Server on Linux – External Memory Pressure with 2019 CTP2

In this blog post we’re going to revisit how SQL Server on Linux responds to external memory pressure. This is a very long post, and it ends with me not knowing exactly what’s going on…but the journey is pretty fun…let’s go!

On Windows-based SQL Server systems we’ve become accustomed to the OS signaling to SQL Server that there’s a memory shortage. When signaled, SQL Server will kindly start shrinking it’s memory caches, including the buffer pool, to maintain overall system stability and usability. Well that story is a little different in SQL Server on Linux…last year I wrote a similar post for SQL Server 2017 RTM and how it reacted to external memory pressure, check that out here! That was quite a dramatic story, you can literally cause SQL Serve to swap nearly its entire process address space out to disk! Now, let’s look and see how SQL Server on Linux responds to external memory pressure in SQL Server 2019 CTP2.