Understand Pods in Kubernetes

kubernetes podsPods are the smallest deployable units of computing that you can create and manage in Kubernetes.

A Pod contains one or more containers. Containers are grouped into Pods so Kubernetes can provide services that are not supported in containers. For example, Pods provide shared storage/network resources, and a specification for how to run the containers. Docker is the most commonly known runtime, but it can be other types.

In short, Pods enable you to manage several tightly coupled application containers as a single unit.

Kubernetes can run Windows. So the command to manage Pods running Windows are the same as those running Linux. But you should know that you define Windows or Linux when you create the cluster.

In this article, you learn about how Pods work, how you can have multiple containers in a Pod, the lifecycle of a Pod, how Kubernetes handles networking with a Pod, and how to define a Pod using a PodTemplate in a Deployment, Job, or other Kubernetes resource.

Continue reading “Understand Pods in Kubernetes”

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”

Understand kubectl to manage Kubernetes objects

kubernetesresourcesUse kubectlto interact with Kubernetes resources, such as Pod, Services, Volumes, and more. When you use kubectl commands, you are querying or setting the desired state of the cluster. kubectlis calling into the API and manipulating or getting status from the primitives.

In this post, learn about the important resources that developers use and how you go about getting information about and creating a resource using kubectl.

Continue reading “Understand kubectl to manage Kubernetes 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”

Read and write Kubernetes objects using kubernetes.io API reference documentation

Once you have deployed your Kubernetes infrastructure, you have a control plane and a worker plane. You define how you want Kubernetes to manage your Kubernetes objects through tools that interact with the API. Kubernetes objects are all those persistent entities in the Kubernetes system, such as your Pods, Nodes, Services, Namespaces, ConfigMaps, Events.

Most operations can be performed through the kubectl command-line interface or other command-line tools, such as kubeadm, which in turn use the API.

kubectl is the command-line tool where you run most of the commands to manage the Kubernetes clusters. Use kubectl to deploy applications, inspect and manage cluster resources, and view logs.

In this post, learn how to use the Kubernetes documentation to discover the objects, how to figure out to describe the state you want for your Kubernetes objects. In particular, you will want to know the fields to use in your .yaml files and how to determine what the default values are. You will also learn the basic kubectl commands.
Continue reading “Read and write Kubernetes objects using kubernetes.io API reference documentation”

Walkthrough: Create Azure Kubernetes Service (AKS) using ARM template

Azure Kubernetes Service (AKS) provides a hosted Kubernetes service where Azure handles critical tasks like health monitoring and maintenance for you. AKS reduces the complexity and operational overhead of managing Kubernetes by offloading much of that responsibility to Azure. When you create AKS, Azure provides the Kubernetes control plane. You need manage only the agent nodes within your clusters.

There are several ways to deploy to Azure, including using the portal, Azure CLI, Azure PowerShell, and Terraform.

In this walkthrough, you will create an AKS cluster using an ARM template and then use Azure CLI to deploy a simple application to the cluster. You will review the design decisions made for the walkthrough, see how the template supports Kubenet for Kubernetes networking, role-based-access-control (RBAC) and how it supports managed identities to communicate with other Azure resources. Finally, you will use a Kubernetes manifest file to define the desired state of the cluster, and test the application.

Continue reading “Walkthrough: Create Azure Kubernetes Service (AKS) using ARM template”

Setting up Security Center for production in enterprise

Icon-security-241-Security-CenterSecurity Center provides out of the box policies and a dashboard to identify possible security issues with your subscription.

To start with Security Center has a good set of policies that will help you do basic audits and provide security alerts.

Use Security Center to meet your cloud requirements

In this article, you will be able to meet the following requirements:

  • Set up ways for your security team, developers, and operations to quickly audit subscriptions.
  • Mitigate security issues

Continue reading “Setting up Security Center for production in enterprise”

Container Ecosystem on Windows, Linux – When to Choose

Everything the application depends on to run successfully can lives inside a container. Containers are an isolated, resource controlled, and portable runtime environment which runs on a host machine or virtual machine. An application or process which runs in a container is packaged with all the required dependencies and configuration files.

Containers grew up in Linux. In Windows Server 2016, containers can run on Windows and run Windows on the inside.

The idea is that you can run containers in the cloud, in the customer data center, or in container services and manage them consistently.

DockerAndAzureEcosystem_thumb

Continue reading “Container Ecosystem on Windows, Linux – When to Choose”

Container Orchestration with Docker Swarm, Marathon, Kubernetes

You need orchestration when transitioning from deploying containers individually on a single host to deploying complex multi-container apps on many machines.

The following describes some of the most popular:

  • Docker Swarm
  • Mesos DC/OS
  • Kubernetes

The purpose of this post is to define the terms and to surface the main features. The goal of the post is not to compare, but to provide definitions of the container technologies.

In general, these container solutions run and support Linux containers.

Continue reading “Container Orchestration with Docker Swarm, Marathon, Kubernetes”