Skip to content

Instantly share code, notes, and snippets.

@PatrickLang
Last active December 10, 2018 01:44
Show Gist options
  • Save PatrickLang/e2381e5f2d5f5df77e205f611c531334 to your computer and use it in GitHub Desktop.
Save PatrickLang/e2381e5f2d5f5df77e205f611c531334 to your computer and use it in GitHub Desktop.
Resources used at Kubecon 2018

Tools

ACS-Engine - Getting started guide for Windows clusters is usually the right place to start. I did a lot of last minute work to move this forward to Windows Server 2019. Right now there isn't a known-good release that's been fully tested with Windows Server 2019, so I'll share the one I used

Helm - no changes

Draft - no changes

New draft packs were put together and are at https://github.com/patricklang/WindowsDraftPacks

Dev VM

"Windows Server 2019 Datacenter with Containers" was used in Azure VMs. "with Containers" is not the Windows product name, it's just the VM in Azure that has Docker preinstalled and the base Windows images pulled. This saves >10 minutes of deployment time. It also puts VMs behind a NAT by default which saves time allocating public IPs.

If you're looking for a way to build your own VM for local use, check out these Packer scripts https://github.com/StefanScherer/packer-windows which build something similar

This set of scripts was run inside the VM to install all needed dev tools for the class including Visual Studio 2017, VSCode, Kubectl, Helm, and Draft https://github.com/PatrickLang/KubernetesForWindowsTutorial/tree/master/LabVm

I had a repo with login instructions https://github.com/PatrickLang/kkna2018lab that was kept private until right before the event. It has a link lets people create their own accounts which needed to be kept safe until the event.

Azure DevTest Labs

This was used to automate rolling out the VMs. It makes it easy to deploy an existing VM, and add extra artifacts to it. It can also handle checkout/check-in of shared VMs but I didn't use that. I used the "Run PowerShell script" artifact to run the script in the gist above. Running unsigned code from GitHub is a bad idea, so you should copy the scripts and use a secured storage account instead.

Demo Apps

This is an example "lift & shift" deployment that's been moved into a modern deployment workflow with no substantial changes to the app. It builds from a traditional build server with the Visual Studio 2017 command line tools, and is packaged up with Docker.

This works well as a cross-platform demo since premade containers are available for Microsoft SQL Server on Linux, and the web app remains on Windows.

This was deployed once by hand using the YAML files in k8s/*

It was also used as part of a build & release pipeline using the Helm chart in charts/fabrikamfiber

This is currently set up with Draft to build and run entirely in Windows containers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment