A while ago I talked about “Faas/Serverless” in relation to vendor lock-in. Today we’ll be continuing in that road, where we’ll be doing a small proof-of-concept (PoC). In this PoC, we’ll be replatforming existing Azure Functions code into an Azure Functions container!
Things to know
Since Azure Functions 2.0 (in preview at the time of writing this post), you are able to leverage containers. Though be aware that there are several known issues. Do check them out first before embarking on your journey!
So first, we’ll start off with testing the Azure Functions Core Tools! If you’re looking to follow this guide, be sure to have the Azure Functions Core Tools installed, which also depends on .NET Core 2.0 and Nodejs. Once you have those installed, do a “func –help”, and you’ll see what capabilities are at hand…
Continue reading “Replatforming Azure Functions into an Azure Functions Container”
Today’s post is conceptually a rather simple one… Let’s see how we can go from this ;
To here ;
By using a CI/CD pipeline.
Flow of the day
What will we be doing today?
- Kick-off a VSTS build once a change has been made to our Github repo
- Build a container via VSTS
- Publish the container to an ACR (Azure Container Registry)
- Kick-off a VSTS release once the build succeeded
- Use an ARM template to deploy an ACI (Azure Container Instance) with our docker container underneath
Sound cool? Let’s get to it!
Continue reading “From Github to ACI – A tale how to use Visual Studio Team Services & Azure Container Registry for Container CI/CD”
In the past I’ve already done several posts about containers. This by using various orchestrators & workflow management tools. Today’s post will be about deploying a Linux container with Service Fabric… The main goals is to provide you with the look & feel of the initial steps. In a future posts, I’ll delve into the more advanced stuff (like data persistence & inter-container connectivity).
Continue reading “Azure Service Fabric : Deploying your first container…”
When you are deploying an image, which is hosted on a private registry, to a kubernetes (k8s) cluster with windows nodes… Then you might get the following error ;
Failed to pull image “kvaes.azurecr.io/kvaes2017:v1“: rpc error: code = 2 desc = unknown blob
Error syncing pod, skipping: failed to “StartContainer” for “private-reg-container” with ErrImagePull: “rpc error: code = 2 desc = unknown blob”
So what did my setup look like?
- Orchestrator : Kubernetes for Windows (Azure Container Service)
- Registry : Private (Azure Container Registry)
- Image : Windows Nano Based
Let’s deploy two pods…
The first I’ll deploy via yaml, which is basically the example from the kubernetes docs on pulling an image from a private repo…
Now the second one is an adaptation of the example flow from the Azure Container Service documentation ;
Now let’s see how that one went…
The first one failed, and the second one passed! What was the difference?
Apparently this one forces the switch to “windows container mode” (or something like that…). As it seems very similar to the following thread…
When deploying windows containers to a kubernetes cluster. be sure to the set the “nodeSelector” or you might end up with errors on pulling the image.
Yesterday Rancher commented on my github request for windows support ;
Tested with rancher-server version – v1.3.0-rc1 with catalog “library” set to
vnext branch in
Able to add “Windows Server 2016 Standard Evaluation” hosts successfully to rancher environment with orchestration set to “windows”.
Able to launch containers in “nat” network and “transparent” network.
@kvaes , Windows 2016 support will be available as experimental feature in rancher-server 1.3.0 release.
Great news! Let’s take it out for a spin… 😀
Installing the host(s) is the same as any other time… Though the host will still be a Linux machine off course ;
sudo docker run -d –restart=unless-stopped -p 8080:8080 rancher/server:v1.3.0
Though notice that I specified the v1.3.0
-rc1 tag… And let the system do its magic!
(Update : For the stable, release you can omit the -rc1 part!)
Note ; Be aware that this is an early release candidate. Do not use this for your production! There is for instance a bug with the GUI, where the “Auto”-theme is malfunctioning. So switch to light or dark to get that one fixed. 😉
Continue reading “How to try out the experimental windows 2016 support in the Rancher 1.3.0 release candidate?”
Today I’m going to show you how you can leverage the combination of Visual Studio Team Services & Rancher to kickstart your continuous deployment of your docker containers. So every time we update our containers, we want a smooth upgrade process on our container setup. What do you think? Let’s see what this can look like?
The scenario of today will have the following flow ;
- We’ll use a git(hub) repository to store our docker-compose & rancher-compose file that powers our solution.
- Next up, we’ll be using VSTS as the orchestrator for your CI/CD-pipeline.
- Rancher is our preferred container workflow / management tool, and we’ll be using the “rancher-compose” on our VSTS build agent.
Continue reading “Using Visual Studio Team Services & Rancher for continuous deployment for your docker containers”
A few weeks ago there was an announcement that the Azure Container Registry has went into public preview. That is great to hear! So let’s test drive it today… We’re going to set up the registry in Azure. Push a container image into it. And pull/run it via rancher towards our cluster. (To do this, I basically followed a lot of the following guide.
Setting up the Azure Container Registry (ACR)
So start by searching for the “Container Registry” in the marketplace ;
Continue reading “Testdriving the Azure Container Registry Service with Rancher”