OpenShift Descheduler Operator: How-To

In OpenShift, the kube-scheduler binds a unit of work (Pod) to a Node. The scheduler reads from a scheduling queue the work, retrieves the current state of the cluster, scores the work based on the scheduling rules (from the policy) and the cluster’s state, and prioritizes binding the Pod to a Node. These nodes are scheduled based on an instantaneous read of the policy and the environment and a best-estimation placement of the Pod on a Node. With best estimate at the time, these clusters are constantly changing shape and context; there is a need to deschedule and schedule the…

Continue Reading →

Operator Training – Part 1: Concepts and Why Use Go

A brief Operator training I gave to my team resulted in these notes. Thanks to many others in the reference section. An Operator codifies the tasks commonly associated with administrating, operating, and supporting an application. The codified tasks are event-driven responses to changes (create-update-delete-time) in the declared state relative to the actual state of an application, using domain knowledge to reconcile the state and report on the status.

Continue Reading →

Proof-of-Concept: OpenShift on Power: Configuring an OpenID Connect identity provider

This document outlines the installation of the OpenShift on Power, the installation of the Red Hat Single Sign-On Operator and configuring the two to work together on OCP. Thanks to Zhimin Wen who helped in my setup of the OIDC with his great work. Steps Setup OpenShift Container Platform (OCP) 4.x on IBM® Power Systems™ Virtual Server on IBM Cloud using the Terraform based automation code using the documentation provided. You’ll need to update var.tfvars to match your environment and PowerVS Service settings. At the end of the deployment, you see an output pointing to the Bastion Server. Add Hosts Entry Connect via SSH You’re connecting on…

Continue Reading →

Learning Resources for Operators – First Two Weeks Notes

To quote the Kubernetes website, “The Operator pattern captures how you can write code to automate a task beyond what Kubernetes itself provides.” The following is an compendium to use while Learning Operators. The defacto SDK to use is the Operator SDK which provides HELM, Ansible and GO scaffolding to support your implementation of the Operator pattern. The following are education classes on the OperatorSDK IBM: CO0201EN Kubernetes Operators Intermediate – introduces core operator concepts and reconciliation with Ansible, Helm and Golang IBM: CO0302EN Kubernetes Operators Advanced – covers golang-based operator reconciliation, OLM and Scorecard testing When Running through the…

Continue Reading →

Hack: Fast Forwarding a Video

I had to watch 19 hours of slow paced videos for a training on a new software product (at least new to me). I like fast paced trainings… enter a browser hack. In Firefox, Navigate to Tools > Browser Tools > Web Developer Tools Click Console Type the following snippet to find the first video on a page, and change the playback rate, and Click Enter. Note, 4.0 can be unintelligible, you’ll need to tweak the speed to match what you need. I found 2.5 to 3.0 to be very comfortable (you just can’t multitask).

Continue Reading →