
Not all server platforms, even the most powerful and scalable, meet all needs as is. While Kubernetes works great on its own, it may lack the necessary components for completeness. You will always find a specific case that ignores your need or where Kubernetes will not function when installed by default ā for instance, database support or CD operations.
This is where add-ons, extensions, and various enhancements for this container orchestrator come into play, supported by a vast community. This article will cover the 11 best things we found. We find them very interesting ourselves, and we plan to delve into them practically ā to take them apart and see what's inside. Some of them will perfectly complement any Kubernetes cluster, while others will help solve specific tasks not addressed in the standard Kubernetes distribution. Gatekeeper: policy management
(OPA) provides the ability to create policies over cloud application stacks in Kubernetes, from ingress to service mesh.
Project Gatekeeper Gravity: Portable Kubernetes clusters
If you want to deploy an application in Kubernetes, many applications have a Helm chart that directs and automates this process. But what if you want to take your Kubernetes cluster 'as is' and roll it out somewhere else?
Gravity
, can replicate the cluster wherever Kubernetes can run. .tar, kan het cluster repliceren overal waar Kubernetes kan werken.
Gravity controleert ook of de doelinfrastructuur zich gedraagt zoals de oorspronkelijke, en of de Kubernetes-omgeving op de doelserver toegankelijk is. De betaalde versie van Gravity voegt ook beveiligingsfuncties toe, waaronder RBAC en de mogelijkheid om beveiligingsinstellingen te synchroniseren over verschillende clusterimplementaties.
De laatste hoofdfunctie, Gravity 7, kan een Gravity-afbeelding uitrollen naar een bestaand Kubernetes-cluster, in plaats van een volledig nieuw cluster op te zetten vanaf de afbeelding. Gravity 7 kan ook werken met clusters die zijn geĆÆnstalleerd zonder gebruik te maken van de Gravity-afbeelding. Tevens ondersteunt Gravity SELinux en functioneert native met de Teleport SSH-gateway.
Kaniko: Container bouwen in een Kubernetes-cluster
De meeste containerafbeeldingen worden gebouwd op systemen buiten de containerstack. Soms is het echter nodig om een afbeelding binnen de containerstack te bouwen, bijvoorbeeld ergens in een draaiende container of in een Kubernetes-cluster.
buitengewoon kan containerafbeeldingen binnen het containeromgeving bouwen, maar zonder afhankelijk te zijn van een containerisatie-service, zoals Docker. In plaats daarvan haalt Kaniko het bestandssysteem uit de basisafbeelding, voert het alle bouwopdrachten uit in de gebruikersruimte bovenop het opgehaalde bestandssysteem en maakt na elke opdracht een snapshot van het bestandssysteem.
Opmerking: Kaniko kan op dit moment (mei 2020) opmerking van de vertaler) geen Windows-containers bouwen.
Kubecost: Kostenparameters voor het starten van Kubernetes
De meeste Kubernetes-beheerinstrumenten zijn gericht op gebruiksgemak, monitoring, en het begrijpen van gedrag binnen pods, enzovoorts. Maar hoe zit het met het monitoren van de kosten - in euro's en centen - die gepaard gaan met het draaien van Kubernetes?
verwerkt Kubernetes-parameters in realtime, wat leidt tot actuele informatie over de kosten van draaiende clusters bij de belangrijkste cloudproviders, weergegeven op een dashboard met de maandelijkse kosten van elk cluster. De prijzen voor werkgeheugen, CPU-tijd, GPU en schijfopslag zijn uitgesplitst per Kubernetes-component (container, pod, service, enzovoorts).
Kubecost houdt ook de kosten van niet-clusterbronnen bij, zoals Amazon S3-buckets, hoewel het beperkt is tot AWS. Kosteninformatie kan naar Prometheus worden verzonden, zodat u deze kunt gebruiken om het gedrag van het cluster programmatic te wijzigen.
Kubecost is free to use if youāre okay with 15 days of log data. For additional features, prices start at $199 monthly for monitoring 50 nodes.
KubeDB: Running Production Databases in Kubernetes
Running databases effectively in Kubernetes can also be quite complex. You'll find Kubernetes operators for MySQL, PostgreSQL, MongoDB, and Redis, but each comes with its drawbacks. Furthermore, the standard feature set of Kubernetes doesn't directly address most specific database issues.
helps you create your Kubernetes operators for database management. Backup, cloning, monitoring, snapshot creation, and declarative database creation are its main components. Note that feature support varies by database. For example, cluster creation works for PostgreSQL but not for MySQL ( as rightly noted , opmerking van de vertaler).
Kube-monkey: Chaos Monkey for Kubernetes
The most reliable way to stress test is considered to be random failures. This theory is the basis of Chaos Monkey from Netflix, a chaotic engineering tool that randomly shuts down virtual machines and containers in the production environment to "encourage" developers to build more resilient systems. is the implementation of the same underlying stress testing theory for Kubernetes clusters. It operates by randomly killing pods in the cluster that you designate, and can also be configured to operate within a specific time frame.
Kubernetes Ingress Controller for AWS
Kubernetes provides an external load balancer and network services for the cluster through a service called AWS provides load balancing features but does not automatically link them with the same capabilities in Kubernetes. fills this gap.
It automatically manages AWS resources for each ingress object in the cluster, creating load balancers for new ingress resources and removing load balancers when resources are deleted. It uses CloudFormation to ensure the cluster's state remains consistent. It also supports CloudWatch Alarm settings and automatically manages other elements used in the cluster, such as SSL certificates and EC2 Auto Scaling Groups.
Kubespray: Automated Kubernetes Installation
automatiseren de installatie van een productieklare Kubernetes-cluster, beginnend met installatie op 'bare metal' servers en eindigend met de belangrijkste publieke clouds. Het gebruikt Ansible (Vagrant - aanvullend) voor het opstarten van de implementatie en het creƫren van een hoogbeschikbaar cluster vanaf nul met de door u gekozen netwerkaanvulling (zoals Flannel, Calico en andere) op uw gekozen populaire Linux-distributie bij de installatie op 'bare metal' servers.
Skaffold: Iteratieve ontwikkeling voor Kubernetes
ā een van de tools van Google, gebruikt voor het organiseren van CD-applicaties in Kubernetes. Zodra u wijzigingen aanbrengt in de broncode, detecteert Skaffold dit automatisch, start het de build en implementatie, en waarschuwt u als er fouten zijn. Skaffold draait volledig aan de clientzijde, dus er kunnen kleine nuances zijn met installatie of updates. Het kan worden gebruikt met bestaande CICD-pijplijnen en ook communiceren met enkele externe buildtools, voornamelijk met Bazel van Google.
Teresa: Eenvoudigste PaaS bovenop Kubernetes
is een applicatie-implementatiesysteem dat de eenvoudigste PaaS bovenop Kubernetes draait. Gebruikers, verdeeld in teams, kunnen hun applicaties implementeren en beheren. Dit vereenvoudigt het werk voor mensen die dit applicatie vertrouwen en niet willen omgaan met Kubernetes en al zijn complexiteiten.
Tilt: Continue updates van containers in Kubernetes-clusters
, ontwikkeld door Windmill Engineering, houdt wijzigingen in verschillende Dockerfile-bestanden in de gaten en implementeert vervolgens geleidelijk de bijbehorende containers in het Kubernetes-cluster. In feite stelt het in staat om een productieketen in real-time bij te werken door eenvoudigweg de Dockerfile-bestanden bij te werken. Tilt voert de build uit binnen het cluster, met de broncode als enige wat moet worden gewijzigd. U kunt ook een snapshot van de clusterstatus maken en foutomstandigheden vastleggen direct vanuit Tilt om deze te delen met teamleden voor debugging.
P.S. Al deze tools hebben we herhaaldelijk met onze nieuwsgierige handen verken deze. Om echte praktijken al (hopelijk!) te presenteren tijdens offline intensives in februari. 8ā10 februari 2021. En 12ā14 februari. Eerlijk gezegd, wij missen ook de warme en energieke sfeer van offline leren. Hoe geavanceerd de technologieĆ«n ook zijn, ze kunnen niet vervangen wat het betekent om persoonlijk met elkaar te communiceren en die bijzondere sfeer te ervaren wanneer gelijkgestemden elkaar ontmoeten.
Bron: habr.com
