In this article, we will build multiple branch pipeline with Jenkins and Kubernetes step by step

What’s Jenkins

Jenkins is an open source continuous integration and delivery tool that enable developers automatically build, test and deploy application

To know more about Jenkins https://www.jenkins.io/

What’s Multibranch Pipeline

The Multibranch Pipeline enable developer to implement different Jenkinsfiles for different branches of the same project. It’s can discover branches and execute pipeline automatically with Jenkinsfiles in version control for better management pipeline

To know more about Multibranch Pipeline on Jenkins https://www.jenkins.io/doc/book/pipeline/multibranch/

Prerequisites

Jenkins is up and running

Jenkins Plugin Installation

Manage Jenkins → Manage Plugins → Search “Blue Ocean” and “Kubernetes CLI…


Certified Kubernetes Administrator (CKA) program is to provide the assurance to Kubernetes administrators/Service provider with qualified skills and knowledge. If company would like to become a Kubernetes Certified Service Provider (KCSP), It’s required to have at least three employee who pass the CKA exam.

In addition, If you would like to take the Certified Kubernetes Security Specialist (CKS) for securing container-based applications best practices, the CKA certification is pre-required before the CKS.

In this article, I would like to share the kubernetes certificate exam experience and questions examples.

There are total 15–20 questions with 120 mins for CKA exam. For…


A step-by-step guide to setting up a Windows container worker node and a sample app on AWS EKS

Building a Windows container service on a Kubernetes cluster
Building a Windows container service on a Kubernetes cluster
Photo by the author.

To support Windows application development with a container (e.g. NET, PowerShell, etc.), we should build the Windows worker node to support the application running on top of it.

To be honest, I think the Windows container needs more time to mature before it can provide a lightweight design and base image to make it more efficient. However, if you want to see a trial, you can follow the steps below to set up a worker node and application on top of AWS EKS.

Prerequisites

Kubernetes clusters must be up and running with at least one Linux-based worker node to run the…


Enable Policy as Code for cloud-native environment and decouple admission control with your application

Image credit: Author

In this article, I will introduce the Open Policy Agent, Kubernetes Admission Controller, and how to apply a policy, with step-by-step guidelines.

What Is Open Policy Agent (OPA)?

The Open Policy Agent (OPA) is an open-source policy engine that decouples policy decision-making from service. It enables Policy as Code, which allows the policy to be automated, tested, and reused with version control. It can unify policy enforcement across different systems for proper management and review, for example, Linux, Kubernetes, CI/CD pipelines, API gateway, application, etc.

Open Policy Agent can be deployed as an admission controller in Kubernetes. You can customize your own policy as code via…


A step-by-step guide to building a Kubernetes federation for managing multiple regions’ clusters with KubeFed

Image courtesy of the author

What Is KubeFed?

KubeFed (Kubernetes Cluster Federation) allows you to use a single Kubernetes cluster to coordinate multiple Kubernetes clusters. It can deploy multiple-cluster applications in different regions and design for disaster recovery.

To learn more about KubeFed: https://github.com/kubernetes-sigs/kubefed

Prerequisites

Kubernetes clusters must be up and running: kubernetes v1.13+.

In this article, we’ll have three Kubernetes clusters. One is for installing Federation Control Plane as the host cluster (named lab). The others are for deploying applications named lab-a and lab-b.


Via the Cluster Autoscaler, Horizontal Pod Autoscaler, and Vertical Pod Autoscaler

Photo by the author.

Kubernetes supports autoscaling for scaling up your cluster of worker nodes and application pods when you need it. It can also scale it down to save money.

There are three types of Kubernetes autoscaling. In this article, we will introduce them individually and explore each type step by step.

  1. Cluster autoscaling —This adjusts your cluster’s number of worker nodes automatically via the Cluster Autoscaler to optimize your nodes’ resources.
  2. Horizontal pod autoscaling — This adjusts the number of pods in your deployment via the Horizontal Pod Autoscaler based on the pods’ CPU and memory utilization.
  3. Vertical pod autoscaling — This…


In this article we will go through kubeless installation on kubernetes, then using the flask to build one simple serverless web application

What’s the Flask

Flask is a Python lightweight web application development framework with simplicity and extensibility. Flask is called “microframework” because of using a simple core and extensions are used to add other functions

To know more about Flask https://flask.palletsprojects.com/en/1.1.x/

What’s the kubeless

Kubeless is a Kubernetes-native serverless framework. It can help you to deploy your small code, functions without worrying about the infrastructure. Similar with AWS Lambda, Azure Functions, and Google Cloud Functions but an open source serverless solution.

To know more about…


There are 3 ways you can expose your service on kubernetes for external accessing

1. LoadBalancer

2. NodePort the service address would be your worker node with node port assigned <NodeIP>:<NodePort>

3. Ingress (Note. there is a pre-requisite for AWS ALB Ingress Controller https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html)

We can use External DNS to sync the exposed service and ingress with AWS Route53

To know more about Kubernetes external DNS https://github.com/kubernetes-sigs/external-dns

External DNS

If EKS version > 1.13, you can use an IAM service account directly as below

  1. Create Hosted Zone on AWS Route53
aws route53 create-hosted-zone --name "external-dns-test.my-org.com." --caller-reference "external-dns-test-$(date +%s)"

2. Create IAM policy


The Certified Kubernetes Application Developer (CKAD) program has been developed by the Cloud Native Computing Foundation (CNCF), in collaboration with The Linux Foundation, to help expand the Kubernetes ecosystem through standardized training and certification

Preparation

CKAD exam required the hands-on, so you should not only understand the concept but also practice (a lot!) to familiar with the commands line

There are two major materials that helpful for me when preparing for the exam :)

  1. Udemy Course Kubernetes Certified Application Developer (CKAD) with Tests, it’s only 10 USD that included 6 hours course and hands-on labs. …

Andrea Wang

DevOps Team Lead 👩🏻‍💻 | CKA & CKAD | Find me on LinkedIn 🔎 https://www.linkedin.com/in/pei-ru-wang-andrea/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store