Posts

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.

Speaking at PowerShell Summit 2019

Speaking at PowerShell Summit 2019!

  I’m proud to announce that I will be speaking at <a href="https://app.socio.events/MjQ4Nw/Overview/14440">PowerShell + DevOps Global Summit 2019</a> the conference runs from April 29th 2018 through May 3rd 2019. This is an incredible event packed with fantastic content and speakers. <a href="https://powershelldevopsglobalsummit2018.sched.com/">Check out the amazing schedule</a>! All the data you need on going is in this excellent brochure <a href="https://powershell.org/wp-content/uploads/2017/09/2018-Brochure.pdf">right here</a>!

  This year I have two sessions!

  On **Tuesday, April 30th at 11:00AM** – I’m presenting “<a href="https://app.socio.events/MjQ4Nw/agenda/14445/session/61468">**Firewall Evasion and Remote Access with OpenSSH**</a>”

  Here’s the abstract

<blockquote>

    OpenSSH is much more than just remote terminal access to servers, it provides a full suite of remote connectivity methods t you network and its services. In this session, we will look at how to use OpenSSH and its forwarding, tunneling and VPN capabilities so that we can securely reach network services that are behind firewalls and other security boundaries.

    Common use cases for these techniques are cloud jump boxes, secure access into segmented networks, and being able to get remove access and moving data around in poorly secured networks…these tips are are things that will likely get you some extra attention from your security team.

    We will look at the following techniques:<br />– Accessing remote services with SSH Tunneling<br />– Building SWSH connections for multi-hop remote access using ProxyHosts<br />– Proxying HTTP/HTTPS connections with a Sock Proxy<br />– Using aliases to store these advanced configurations for easy use<br />– Controlling and preventing TCP tunneling

</blockquote>

  On **Thursday, May 1st at 1:00PM** – I’m presenting **“<a href="https://app.socio.events/MjQ4Nw/agenda/14445/session/61467">Containers – You Better Get on Board!</a>”**

  Here’s the abstract

<blockquote>

    Containers are taking over, changing the way systems are developed and deployed…and that’s now 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 your started on your container journey, learn some common container scenarios and introduce deployment automation with Kubernetes.

    In this session we’ll look at<br />– Container Fundamentals<br />– Common Container Scenarios<br />– Automation with Kubernetes<br />– Using PowerShell Containers

</blockquote>

I look forward to seeing you there.

Presenting with VS Code and Running Commands on Remote Hosts

In this blog post, I’m going to show you how to use VS Code and Azure Data Studio for presentations where you need to execute local code on remote systems over SSH.

The Challenge

When using tools like VS Code and PowerShell ISE these tools give you the ability to highlight code and execute that highlighted code. This generally means the highlighted code you want to execute will execute against the local machine. When presenting, this technique is very useful and impactful for your audience because both the code being executed and its output will be on the screen at the same time as you step through your demos. I do a lot of presenting on topics like Linux, SQL Server on Linux, Kubernetes, and OpenSSH when I’m logged into remote hosts over SSH. I’d like to have the same functionality, so I can highlight the code in VS Code locally and execute that code on a remote host over SSH. Let’s explore how I do that.

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!