Posts

Vision Purpose & Mission

September 21, 2022
Management
Teams, Organization

Vision # Where your are going What the future looks like if your goals are accomplished In “be, do, have”, its the “be” Mission # Actionable vision statement Answers “What”, “Who” & “Why” Define immediate goal and help stay focused on the plan In “be, do, have”, its the “do” - motivates you into acting Purpose # It ties vision & mission together It answers why we’re doing the work we’re doing what will happen if we dont ? ...

Knative Custom Domain + AutoTLS

August 16, 2022
Software
Tech, Knative

Steps # Set domain name in config-domain configmap in knative-serving namespace. Get LB IP of Envoy k get svc -A. Pick the external IP address Configure DNS provider with A record *.<domain> (eg. *.snative.dev) -> IP address Deploy hello world and curl the url (Note: Browsers use https which isn’t configured yet.) TLS using LetsEncrypt (Builds on steps above) # Install cert-manager kubectl apply -f https://github. ...

RabbitMQ

March 27, 2022
Software
Tech, RabbitMQ

RabbitMQ # A message broker; accepts and forwards messages Supports multiple protocols, of which AMQP 0-9-1 is one Queue # Is a buffer that stores messages A mailbox where producer(s) can send messages and consumer(s) can consume them from Creating a queue is idempotent. A message to a non-existent queue is simply dropped by RabbitMQ With configuration, unacknowledged messages by consumers will be redelivered (upone the initial consumer connection closing) ...

Knative

October 26, 2021
Software
Tech, Kubernetes, Knative

Knative # Serving # Label networking.knative.dev/visibility: cluster-local marks a Knative Service as private and accesible only via ClusterIP. The default is to make the Knative Service publically accessible. Job https://github.com/knative/serving/releases/download/latest/serving-default-domain.yaml updates -n knative-serving cm/config-domain to add a default domain such as 34.145.71.17.sslip.io

Documentation

September 12, 2021
Software
Documentation, Information Architecture

Divio Unified Theory of Documentation # Reference Documentation can be divided into 4 clear buckets, each of which serves a distinct purpose. Tutorials # Its a cooking lesson, like teaching a child to cook. What you cook isn’t important, its getting them familiar with the process, getting them to enjoy it and want to doi t again. Using software, like cooking is a matter of craft - we learn by doing How to guide # Its like a recipe and assumes you already know basic cooking techniques and is helping you resolve a need Reference # Its like a encylopedia entry about a single ingredient - ginger. ...

K8s Debugging

September 12, 2021
Software
Tech, Kubernetes

Get an ubuntu shell on a K8s cluster # Run kubectl run my-temp-shell --rm -i --tty --image ubuntu -- bash Ref Networking troubleshooting on a K8s cluster # Run kubectl run tmp-shell --rm -i --tty --image nicolaka/netshoot Ref Decode K8s Docker Registry Secret # Run k get secret/MY_SECRET_NAME -ojsonpath='{.data.\.dockerconfigjson}' | base64 -D

Measuring Health

September 12, 2021
Software
Tech

Service Level Agreement - SLA # commitment to maintain an SLI within a specific range over a period of time (including future) Service Level Objective - SLO # average of the SLI over time (past only) average of the SLI’s standard deviation over time Service Level Indicator - SLI # is the thing you’re measuring ?? a value at point in time

Pivotal Engineering Process WIP

September 12, 2021
Software
Tech

What is the process # Comparing it to Agile # working in a sprint (prioritized work + limited timed frame) Comparing it to Kanban # is about limiting multitasking ?? milestones don’t have a deadline Engineers work on it until its done PMs can’t change prioritzation once work for a milestone begins Issues # Doesn’t map to the industry, making job/role transition trickier

RPi with K3S with Knative

August 27, 2021
Software
Tech, Kubernetes, K3S, Raspberry Pi, Knative

The process # Use Ubuntu Server 64 bit OS # The Rasberry Pi OS is 32 bit and wont work for Envoy which only has arm64 images available. Install OS # Download the Ubuntu OS, extract the zip file Install it to the SD Card Instructions diskutil list # Get disk# diskutil unmountDisk /dev/diskN sudo dd bs=1m if=path_of_your_image.img of=/dev/rdiskN; sync sudo diskutil eject /dev/rdiskN replacing N with the disk number ...

Create a K8s CRD

February 4, 2021
Software
Tech, Storage

Create a K8s CRD # This summarizes the tutorial referenced below & Knative Controllers as a quick review Scafold the new CRD # kubebuilder create api --group batch --version v1 --kind CronJob Define The Object # Look under {apis|api/v1}/{groupName}/{objectName}_types.go contains K8s Object.Spec and Object.Status Update the Spec & Status sections Add the Business Logic # Implement the logic to convert desired state defined in the spec to the actual state reflected in the status. ...