Sudo Friday

Elke vrijdag weer een nieuwe video over van alles dat met IT te maken heeft.

Upscayl

Als je een digitale foto (of ander plaatje) van lage resolutie of kwaliteit hebt, en je wilt die toch kunnen gebruiken ergens waar je een hogere resolutie nodig hebt, dan kun je grijpen naar wat standaard beeldbewerkings software zoals Gimp. Een beetje “scale”, een beetje “sharpen”, en je hebt waarschijnlijk al redelijk snel iets dat je met trots “mèh” mag noemen, misschien zelfs wel “mid”.

Gelukkig zijn er applicaties die niks anders als doen hebben dan het vergroten/verbeteren van plaatjes. Sommigen daarvan zullen niet veel betere resultaten halen dan wat je zelf met generieke bewerking software kon doen, maar anderen gebruiken wat modernere (en CPU/GPU intensievere) algoritmes om een beter resultaat te behalen.

Yaml is Raar

Op zich lijkt YAML niet zo raar. Whitespace is misschien belangrijk, en het inline gebruik van JSON kan er soms wat vies uit zien, maar over het algemeen lijkt het toch redelijk eenvoudig.

Totdat het niet meer zo eenvoudig blijkt te zijn. Waardes die spontaan lijken te veranderen, landen die blijkbaar niet mogen bestaan, port-mappings die veranderen in (schijnbaar) willekeurige getallen…

OpenShift Operator Performance Tuning

Wanneer je op OpenShift een cluster-brede (AllNamespaces) operator installeerd wordt er door de Operator Lifecycle Manager (OLM) een kopie van de Cluster Service Version (CSV) in elke namespace op je cluster neergezet. Deze kopie is hier voor de informatie van je eindgebruikers, zodat ze kunnen kijken welke operators beschikbaar zijn in hun namespaces.

Dit klinkt natuurlijk heel nobel en eervol, maar wanneer je honderden, of zelfs duizenden, namespaces hebt op een cluster kost dit behoorlijk wat resources (CPU, Geheugen) voor OLM zelf om bij elke reconcile deze CSVs bij te werken. Ook is het een grote aanslag op de performance van Etcd en de Kubernetes APIServer, want die moeten al die aanpassingen op al die objecten verwerken.

OS Snapshots op RHEL10 met Snapm

Wanneer we enge dingen gaan op virtuele machine maken we vaak op Hypervisor niveau een “Snapshot”, zodat we in het geval dat dingen een ventilator geraakt hebben we makkelijk een stapje terug kunnen doen om het nogmaals te proberen.

Wanneer je op Bare-Metal draait, of een virtualisatie omgeving zonder snapshot mogelijkheid, wordt dit een stukje moeilijker.

Je kunt LVM of Stratis snapshots maken (als je die gebruikt natuurlijk), maar de snapshots van verschillende volumes synchroniseren, je bootloader entries en bijbehorende kernels ook meenemen, als ook het terugzetten van die snapshots kan wat ingewikkelder zijn.

Gelukkig is daar een tooltje voor Snapshot manager (Snapm), die dit alles voor je kan automatiseren.

RHEL9 In-Place Upgrade Naar RHEL10

Wanneer je RHEL systemen wilt upgrade tussen major versies, bijvoorbeeld van RHEL9 naar RHEL10, dan is een schone installatie altijd de voorkeursmethode. Maar soms heb je systemen, of processen, waarbij dat niet kan. In die gevallen zul je een in-place upgrade moeten uitvoeren.

Op RHEL-familie systemen kan dat met het leapp tooltje. Deze weet precies welke aanpassingen er gemaakt moeten worden aan een systeem om de upgrade succesvol uit te voeren.

OpenShift Egress IPs

Het is al een lange tijd mogelijk om uitgaand netwerk verkeer vanuit een namespace op OpenShift vanaf een ander IP adres te laten komen dan het andere cluster verkeer. Vroeger, met OpenShiftSDN, was dit puur op namespace basis, als het verkeer kwam vanaf een apart IP adres, of niet. IP adressen konden ook niet door meer dan één namespace gebruikt worden.

Tegenwoordig, met OVN Kubernetes als SDN, kan dit een stuk fijnmaziger. Egress IPs kunnen geselecteerd worden door labels op zowel de namespace als de workload zelf, waardoor het mogelijk wordt om IP adressen te delen tussen namespaces, en zelf meerdere IP adressen te gebruiken voor verschillende workloads in een namespace.

Minder Monitoren op OpenShift

Het klinkt in deze tijd van Observability misschien raar, maar soms is het gewenst om minder te monitoren.

Wanneer je clusters groeien, en de CPU, geheugen, en opslag druk van je monitoring stack blijft groeien, kan het soms gewenst zijn om minder verschillende metrics te verzamelen om die druk lager te houden. In die gevallen kun je op een OpenShift cluster terugvallen op het minimal CollectionProfile.

Nieuw in OpenShift 4.19: Externe Route Certificaten

Wanneer het gaat over TLS certificaten toevoegen aan Ingress objecten op OpenShift dan is er altijd een groot verschil geweest tussen OpenShift Routes en andere vormen van Ingress: Bij OpenShift Routes moesten de certificaten ge-embed in het Route objectr, terwijl je bij andere Ingress objecten naar een certificaat in een Secret kon wijzen.

Deze situatie is, zoals zoveel OpenShift dingen, historisch gegroeid, maar met een goede reden: De OpenShift Engineers waren nogal huiverig voor het geven van algemene Secret lees-rechten aan de OpenShift Router. Met de release van OpenShift 4.19 is hier verandering ingekomen, je mag nu in een Route naar een Secret wijzen met je certificaat info. Wel moet je expliciet een Role en een Rolebinding aanmaken die de OpenShift Router expliciete leesrechten geeft op je Secret.

Dit maakt het werken met tools als cert-manager en External Secrets Operator een stuk makkelijker, deze hebben nu geen extra tooling meer nodig om de opgehaalde of gegenereerde certificaten in de Route te embedden.