Understanding Kubernetes workload node objects

 

Kubernetes has a variety of objects to manage your cluster and your applications. Your applications run in workload nodes (virtual machines) and the containers are managed by the control plane.

You use manifests to tell the control plane how you want to configure your Kubernetes objects using manifests, and the control plane changes the state of the cluster to your desired state.

In other words, you tell the control plane how to configure the workload nodes with your containers, networking, security, and storage. And the control plane makes it happen.

In this article, learn the definitions of the workload objects. And learn some initial best practices to use when defining your Kubernetes objects.

Continue reading “Understanding Kubernetes workload node objects”

What developers should learn about Kubernetes

kubernetes-ckad-color-1024x1004In this article, you will learn what you need to know to become an expert at Kubernetes. The curriculum for developers is outlined in the Certified Kubernetes Application Developer (CKAD) program.

It has been developed by the Cloud Native Computing Foundation (CNCF), in collaboration with The Linux Foundation. These organizations provide certifications to demonstrate competence in Kubernetes for both software and for individual contributors, including administrators, developers, and security specialists. 

As you dive into Kubernetes, take a look at what the exams measure. The curriculum is published https://github.com/cncf/curriculum as a set of PDF that describe the high level concepts you will need the following CNCF exams:

  • Certified Kubernetes Administrator (CKA)
  • Certified Kubernetes Application Developer (CKAD)
  • Certified Kubernetes Security Specialist (CKS)

For developers, the exam certifies that you can design, build, configure, and expose cloud native applications for Kubernetes. In this article, learn about the overall categories and some sample challenges you may see.
Continue reading “What developers should learn about Kubernetes”

Install Kubernetes, kubectl on your development computer

kubectl to k8skubectl, allows you to run commands against Kubernetes clusters. Use kubectl to deploy applications, inspect and manage cluster resources, and view logs.
In this post, learn how to install kubectl, how to access the cluster, and the basic command you use to manage the cluster.
There are a lot of tools you can use. In this post, learn about:

  • On Windows: Docker plus WSL
  • On Ubuntu Linux: MicroK8s
  • On desktops connected to Azure Kubernetes Service
  • Bridge to Kubernetes for Visual Studio users
  • Kind and Minikube to run cluster on your local development machine

Continue reading “Install Kubernetes, kubectl on your development computer”

Walkthrough on how to handle merge conflicts in Git

Git-Logo-2ColorGit is distributed version control system designed to handle everything from small to very large projects with speed and efficiency.The foundation of DevOps, begins with using source code control. This includes the source control for your Infrastructure as Code.But sometimes, when you check in your code, either you or someone else has been working made a change that creates a conflict between branches.

When the same part of the same file in two branches have been changed, Git won’t be able to figure out which version to use. When such a situation occurs, Git stope your right before the merge commit, where you will need to resolve the conflicts manually.

In this walkthrough, you set up a new repository, make changes to the repository where so changes conflict with those on your local machine, merge the changes, and push the changes to the repository.

Continue reading “Walkthrough on how to handle merge conflicts in Git”

Cheatsheet and best practices for Git

Git-Logo-2Color

Git is distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is a primary tool for both developers and cloud engineers who are moving to infrastructure as code. Git is the core of a modern version control software, which keeps track of every modification to the code in a special kind of database. If (dare I say “when”) a mistake is made, you can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members.

You do not need to have your repository set up to get started with Git. Although you will want to set one up to save your changes and to manage your deployments. Learn more about how to set up your repositories in the previous post.

In this article, you will find a list of resources to use to learn how to get started with Git.  The article provides some sample command in a pattern you will use for your code or your infrastructure as a code. There are also references on how to get started learning Git.

Or .. if you prefer you can use the Git Cheatsheet from GitHub. The contribution made in this blog post is to show you common patterns you will use daily.

Continue reading “Cheatsheet and best practices for Git”

Set up Git with repository on GitHub or Azure DevOps Repos

github
In setting up our production environments, we’re started to get some code that we will want to backup, save, reuse, make changes, and share with others. We will want collaborate. And a source control system is idea for all this.

Git is distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is a primary tool for both developers and cloud engineers who are moving to infrastructure as code. In our next post you will learn more about Git workflows. But first, because our blog is related to enterprise production, you will you will want to set up a repository for your code.

The purpose of this article is to provide the steps to get set up and provide the steps for some common scenarios for both GitHub and Azure DevOps so you can get started checking in code.
Continue reading “Set up Git with repository on GitHub or Azure DevOps Repos”

Checklist of Azure tools for enterprise admin: PowerShell, AzCopy, Azure CLI, Docker, Git, Azure Providers

powershellAzure provides the Azure Cloud Shell which includes almost every tool you will need already installed. But that requires you to be logged into the portal. And it times out after a short time. So you can administer Azure from your desktop.

There are tools you will normally want on your local computer to administer Azure:

  • PowerShell
  • Azure Powershell
  • Azure CLI and some additional tools (such as jq and Kubernetes)
  • AzCopy
  • Git
  • Docker
  • Visual Studio Code and extensions

All are cross platform tools. In this article, you will learn how to install the tools from the command line. And you will learn about Azure providers and how to add them to your subscription.

Continue reading “Checklist of Azure tools for enterprise admin: PowerShell, AzCopy, Azure CLI, Docker, Git, Azure Providers”

Getting Started with Azure CLI, WSL 2, Windows Terminal

linuxThe Azure CLI is foundational to getting started in Azure, Windows Subsystem for Linux (WSL) is an optional feature of Windows 10 that allows you to run Linux on Windows, and the Windows Terminal. For those of us who spend time in Microsoft Teams, Microsoft Office and want to work with Visual Studio Code, it is the perfect combination.

Continue reading “Getting Started with Azure CLI, WSL 2, Windows Terminal”

Getting Started with Containers for ASP.NET Developers on Windows

worksonmymachineContainers give you a way to run you application in a controlled environment, isolated from other applications running on the machine and from the underlying infrastructure.

It means that when you go to deploy, all the dependencies are published together. So you can finally say, “It worked on my machine” and mean it. All the dependencies with the same versions in your container will be there when you deploy to the cloud.

Continue reading “Getting Started with Containers for ASP.NET Developers on Windows”

Best Practices for Designing a Fluent API

imageA fluent API can be incredibly helpful when sharing your application with other developers.

Fluent methods are a hot design idea and they can improve the readability of your code. However, they only make sense in specific scenarios.

A fluent interface (as first coined by Eric Evans and Martin Fowler) is a method for constructing object oriented APIs, where the readability of the source code is close to that of ordinary written prose.
Continue reading “Best Practices for Designing a Fluent API”