September 21, 2022
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 ?
...
August 16, 2022
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.
...
March 27, 2022
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)
...
October 26, 2021
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
September 12, 2021
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.
...
September 12, 2021
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
September 12, 2021
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
September 12, 2021
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
August 27, 2021
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
...
February 4, 2021
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.
...