super-eks: Ein Update
February 4, 2022super-eks hat seit längerer Zeit etliche Features auf der Roadmap und das letzte Update ist auch schon einige Zeit her. Hier gibt es nun ein Update darüber, was sich gerade eigentlich tut und was in der nächsten Zeit geplant ist.
Neue Languagebindings
super-eks hat lange Zeit nur Typescript unterstützt. Mittlerweile unterstützen wir auch Python und bei jedem Push zu npmjs wird auch ein Pythonpaket in pypi veröffentlicht.
External Secrets
Auch wenn auf der Roadmap bereits einige Themen stehen und dies keins davon ist, haben wir uns dazu entschieden
kubernetes-external-secrets zu integrieren, da wir der Meinung sind, dass Secrets am besten in dem dafür
vorgesehen AWS Secrets Manager liegen sollten. Aufgefallen ist uns das insbesondere bei der Arbeit an dem Backup-Feature. Momentan ist das Anlegen
externer Secrets noch nur per Yaml Files möglich, wir planen hierfür allerdings eine bequemere API zur Verfügung zu stellen. Die Zugriffsrechte auf
Secrets im Secrets Manager werden über Resource Tags gemanagt. Hat ein Secret das Tag SuperEKS: secrets
kann external-secrets darauf zugreifen.
Wir werden hier allerdings noch eine Änderung vornehmen, so dass Namespace Annotationen automatisch erzeugt werden und Secrets eine bestimmte Naming Convention einhalten müssen. Zugriff auf Secrets wird dann von einem Admission Webhook gesteuert, der automatisch, beim Anlegen eines Namespace, diesem Namespace das Recht gibt auf Secrets nach der Naming Convention zuzugreifen.
In Progress: Backup
Wir haben uns in letzter Zeit intensiv mit dem Thema Backup befasst und sind uns immer weniger sicher, dass es wirklich ein zentrales Thema ist. Grundsätzlich sind wir der Meinung, dass das komplette Kubernetes Setup via Infrastructure as Code gemacht sein sollte und daher Backups nicht sinnvoll sind. Dann haben wir überlegt, was muss man denn dann überhaupt sichern?
- “Secrets” war eine der Antworten, da diese ja nicht im git liegen sollten. Da das aber ein allgemeines Problem ist, haben wir uns dann dazu entschieden auf kubernetes-external-secrets zu setzen.
- Eine zweite Antwort waren Volumes. Wir sind noch dabei hier ein gutes und einfaches Konzept zu erarbeiten. Das Backup an sich stellt da ja auch oft kein Problem dar, eher das Restore.
- Ein Backup manuell angelegter Ressourcen soll aber trotzdem möglich sein. Wir überlegen hier eine Lösung über Annotationen an den Ressourcen zu nutzen.
Momentan sind wir hier also noch in der Konzeptionsphase und es kann auch sein, dass wir gar keine Backuplösung integrieren werden.
Weitere geplante Features
- eine Backup-Lösung
- Monitoring per Prometheus und CloudWatch
- vorkonfigurierte Autoskalierung
- Integration mit Amazon Cognito zur Absicherung eurer Workloads
- Cdk v2 Support
Wir freuen uns über Feedback entweder per Mail oder direkt als GitHub Issue.