3/28 – I found a good article that walks through the steps for deploying an ingress controller in Kubernetes to terminate SSL and forward the connection to my container running node.js. I’m going to work on this this weekend and update the blog! https://dgkanatsios.com/2017/07/07/using-ssl-for-a-service-hosted-on-a-kubernetes-cluster/ 3/31 – Ok, this article above is for creating internal/test certificates. […]
Similar to kubectl run, you can call kubectl expose and it will quickly give you a public IP address for your application.
There is a good article that talks about persistent storage options for AKS. You basically have 3 choices in Azure: Standard Managed Disk Premium Managed Disk Azure Files If you only need one container to access the volume at a time, then you can leverage standard or premium disks based on your needs. However, if […]
We just introduced the ability to get alerts from the portal for service events. Check it out.
There are times when you want to deploy your PaaS resources on a private network instead of leveraging the public endpoint. Azure has a bunch of services that support service endpoints – a feature that lets you access a SQL/MySQL/Cosmos database on a vnet. Azure Container Registry has a preview feature that will let you […]
This is a great weekly video series on new developer technologies at Microsoft.
There a number of considerations in building a microservice-based application in Azure. This article walks through some key points like design, scalability, availability security and deployment considerations: https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/microservices/aks
I decided to improve the visibility that Kubernetes has into my node.js backend by implementing liveness probes. As we discussed previously, Kubernetes has two different types of health checks: Readiness probe – makes sure the container is ready to respond to user requests and participate in the load balancer. If it fails, it is removed. […]
When you package up your application in a container image, you need somewhere to store it. That is the purpose of the container registry. It is like an app store for your container images. A registry is organized into repositories, where a repository holds all the versions of a specific image. You might have separate […]
Just heard that there is a preview feature that lets you control failover of your RA-GRS storage account. From the docs.microsoft.com article: Azure Storage supports account failover (preview) for geo-redundant storage accounts. With account failover, you can initiate the failover process for your storage account if the primary endpoint becomes unavailable. The failover updates the […]
Here is a great video I found that gives an overview of how to best utilize, secure and manage your Kubernetes cluster.
A common question with AKS is: “how many clusters do I need?” There are two patterns to consider: Physical Isolation With this pattern, you use different clusters based on environment like dev, test, staging and production. Or you can break out the clusters by team or project. In this manner, you are “sandboxing” the applications […]
Here is my highlevel framework for working with customers to migrate their application to Azure. It is work in progress, but I wanted to get version 1.0 out there so 2.0 can happen one day! Before we begin, here is our fictitious three-tiered app: UI – ASP.NET Web Forms, stateful API – .NET, java, monolith […]
I’m learning about how to deal with storage for your containers. There are a few options: emptyDir – is scoped to the Pod and lifespan of the Pod. It seems to take local storage from the host and presents it to the pod. For example, if you had two containers running in a pod, they […]
Brendan Burns, co-founder of Kubernetes and Distinguished Engineer in Azure, put together a series of whiteboard sessions on Kubernetes and he does a great job explaining the basic concepts. You can check out my playlist of Kuberenetes videos here.
Kubernetes has a few health checks that it performs to ensure your containers are healthy and running: Liveness Probe – makes sure the application is running properly. This is done by the developers exposing a health check API that you tell Kubernetes to check on a periodic basis. If it fails, Kubernetes will restart the […]
I’m diving deep into pods today! First, let’s make sure our terminology is straight. Here is the hierarchy of “objects” in Kubernetes: Cluster Nodes Pod Container Image In reverse, I would say: “I will create an image of my application and use it to create a container. The container will run in my pod, which […]
The Azure portal allows you to see a number of key metrics, setup alerts and view logs from your AKS cluster…which means you don’t have to rely on running kubectl commands to see how your cluster is performing. Below, you can see cluster health, CPU/memory utilization, node and pod count. You can dive into the […]
Wow! I learned that you can simply deploy a container to kubernetes by running the following command (there are two examples in the screenshot below): This is instead of creating a deployment.yaml file and running kubectl apply -f deployment.yaml – like I’ve always done. Very similar to the docker run command. Nice.
I spent some time on debugging/troubleshooting commands today. Reading and streaming container logs Exec into the shell of a container Copy files to/from the container The help command is well organized!
Two years ago, dreaddontdie was based on .net, running on Windows and designed for Internet Explorer. Today, dreaddontdie.com is quite the opposite…it runs on Linux! 😳 Last month, the redesign of dreaddontdie (version 8.x) turned 2 years old. Here is what looks like now from the browser to the backend: My code editior is VS […]
Today, I played around with some kubectl commands and learned a few things! How to query Kube-system by specifying the namespace flag Use contexts to manage “profiles” for kubectl Tweak the output to wide or json or filter the results using jsonpath Edit resources like pods, deployments, etc RIGHT in kubectl by using kubectl edit […]
Today I learned about how to get health and detailed information about your node(s). It spits out all of this great info on the node version, etc but also these health conditions you can check for. It was also interesting to see the clear breakdown of the namespaces and everything that runs in kube-system. Other things […]
I’m going to learn and/or do something with Azure Kubernetes Service (AKS) every day….and blog about it. I think it will be good motivation to ensure I’m working with it every single day and not getting lost in meetings and other things. Key components to this: Daily blogging Walking through my Kubernetes Up and Running […]