Aufbau eines hochverfügbaren OpenShift4-Clusters auf Basis von libvirt/KVM, sowie der Verwaltung eines hochverfügbaren OpenVPN-Netzwerks, welches Standorte und mobile Entwickler miteinander verbindet.
- Aufbau eines Hochverfügbaren OpenVPN Netzwerks um Standorte und remote Mitarbeiter miteinander zu verbinden
- Administration des virtualisierten OpenShift-Clusters und der zugrunde liegenden Maschinen
- Integration von bestehendem Slurm zur Workload-Verwaltung
Ziel des Projekts ist es, eine Frontend-/Backend-Architektur zur Verwaltung von Kubernetes-Multi-Cluster-Infrastrukturen zu entwerfen und zu implementieren. Mithilfe der Anwendung können per Knopfdruck neue Kubernetes-Cluster erstellt und administriert werden. Die Anwendung wurde anschließend auf einer mittels Terraform bereitgestellten Infrastruktur betrieben.
Deployment, Verwaltung und Konfiguration verschiedener Cloud-Server und darauf aufbauender Kubernetes-Cluster. Implementierung von Deployment-Pipelines mittels Ansible und Terraform in Gitlab-CI. Deployment verschiedener Komponenten mittels ArgoCD und Helm um Infrastructure as Code zu gewährleisten.
Besonderes Augenmerk lag hierbei auf der Skalierbarkeit und Sicherheit des Clusters. Da in diesem Projekt bewusst angreifbare Anwendungen zu Lernzwecken ausgerollt wurden, mussten sowohl horizontale als auch vertikale Eskalationspfade bedacht und eingeschränkt werden.
Konzeption, Aufbau und Wartung einer Kubernetes-basierten Lösung zur Durchführung von IT-Sicherheitswettbewerben mit variabler Teilnehmerzahl. Mit der implementierten Lösung wurden mehrere Wettbewerbe abgehalten, mit einer Teilnehmerzahl von 700 Teams und mehreren hundert parallelen Instanzen verschiedenster Workloads.
Ebenfalls wurde Software, darunter ein Operator, entwickelt, um mit den Besonderheiten dieser meist kurzlebigen Workloads umzugehen.
Da in diesem Cluster gezielt verwundbare Anwendungen bereitgestellt wurden, lag ein starker Fokus auf Clustersicherheit und dem Verhindern von Privilege Escalations. Diese Anforderung wurde unter anderem durch sehr restriktive Network-Policies mit Calico erreicht.
Paketierung von Software sowie Erstellung und Pflege von Patches für bestehende Pakete im Nixpkgs-Ökosystem.
Regelmäßige Durchführung von System-Updates und Patch-Management im Rahmen der Release-Zyklen.
- Aufbau der Infrastruktur ab initialer Provisionierung bereitgestellter neuer VMs für NixOS mittels nixos-anywhere und kexec.
- Migration bestehender Systeme auf NixOS.
- Definition der Systemgrenzen und Deklaration der einzelnen Systeme als Nix-Flake.
- Deployment und Update-Verwaltung der Systeme mittels Flake und Colmena
- Verwaltung von Secrets mittels sops-nix bzw. Mozilla SOPS.
- Versionierung und Change-Management mittels Git.
Aufbau von Software-Build-Pipelines für native sowie containerbasierte Software in Azure DevOps.
- Erneuern der Build-Infrastruktur und Pipelines für Containerimages in Azure DevOps
- Integration einer On-Prem Registry mit automatisierter Sicherheitsüberprüfung
- Migration bestehender Pipelines
Im Rahmen eines Projektes wurde eine GitLab Pipeline erstellt, welche automatisiert mit HashiCorp Packer virtuelle Maschinen provisioniert, um VM Images für Endanwender vorzubereiten.
- Automatisiertes provisionieren und Paketieren von VMs als Images mittels Packer
- Automatisiertes Testen von VMs
- Integration in den Produktrelease-Zyklus
- Bereitstellung der Images für Kunden
Aufbau eines hochverfügbaren OpenShift4-Clusters auf Basis von libvirt/KVM, sowie der Verwaltung eines hochverfügbaren OpenVPN-Netzwerks, welches Standorte und mobile Entwickler miteinander verbindet.
- Aufbau eines Hochverfügbaren OpenVPN Netzwerks um Standorte und remote Mitarbeiter miteinander zu verbinden
- Administration des virtualisierten OpenShift-Clusters und der zugrunde liegenden Maschinen
- Integration von bestehendem Slurm zur Workload-Verwaltung
Ziel des Projekts ist es, eine Frontend-/Backend-Architektur zur Verwaltung von Kubernetes-Multi-Cluster-Infrastrukturen zu entwerfen und zu implementieren. Mithilfe der Anwendung können per Knopfdruck neue Kubernetes-Cluster erstellt und administriert werden. Die Anwendung wurde anschließend auf einer mittels Terraform bereitgestellten Infrastruktur betrieben.
Deployment, Verwaltung und Konfiguration verschiedener Cloud-Server und darauf aufbauender Kubernetes-Cluster. Implementierung von Deployment-Pipelines mittels Ansible und Terraform in Gitlab-CI. Deployment verschiedener Komponenten mittels ArgoCD und Helm um Infrastructure as Code zu gewährleisten.
Besonderes Augenmerk lag hierbei auf der Skalierbarkeit und Sicherheit des Clusters. Da in diesem Projekt bewusst angreifbare Anwendungen zu Lernzwecken ausgerollt wurden, mussten sowohl horizontale als auch vertikale Eskalationspfade bedacht und eingeschränkt werden.
Konzeption, Aufbau und Wartung einer Kubernetes-basierten Lösung zur Durchführung von IT-Sicherheitswettbewerben mit variabler Teilnehmerzahl. Mit der implementierten Lösung wurden mehrere Wettbewerbe abgehalten, mit einer Teilnehmerzahl von 700 Teams und mehreren hundert parallelen Instanzen verschiedenster Workloads.
Ebenfalls wurde Software, darunter ein Operator, entwickelt, um mit den Besonderheiten dieser meist kurzlebigen Workloads umzugehen.
Da in diesem Cluster gezielt verwundbare Anwendungen bereitgestellt wurden, lag ein starker Fokus auf Clustersicherheit und dem Verhindern von Privilege Escalations. Diese Anforderung wurde unter anderem durch sehr restriktive Network-Policies mit Calico erreicht.
Paketierung von Software sowie Erstellung und Pflege von Patches für bestehende Pakete im Nixpkgs-Ökosystem.
Regelmäßige Durchführung von System-Updates und Patch-Management im Rahmen der Release-Zyklen.
- Aufbau der Infrastruktur ab initialer Provisionierung bereitgestellter neuer VMs für NixOS mittels nixos-anywhere und kexec.
- Migration bestehender Systeme auf NixOS.
- Definition der Systemgrenzen und Deklaration der einzelnen Systeme als Nix-Flake.
- Deployment und Update-Verwaltung der Systeme mittels Flake und Colmena
- Verwaltung von Secrets mittels sops-nix bzw. Mozilla SOPS.
- Versionierung und Change-Management mittels Git.
Aufbau von Software-Build-Pipelines für native sowie containerbasierte Software in Azure DevOps.
- Erneuern der Build-Infrastruktur und Pipelines für Containerimages in Azure DevOps
- Integration einer On-Prem Registry mit automatisierter Sicherheitsüberprüfung
- Migration bestehender Pipelines
Im Rahmen eines Projektes wurde eine GitLab Pipeline erstellt, welche automatisiert mit HashiCorp Packer virtuelle Maschinen provisioniert, um VM Images für Endanwender vorzubereiten.
- Automatisiertes provisionieren und Paketieren von VMs als Images mittels Packer
- Automatisiertes Testen von VMs
- Integration in den Produktrelease-Zyklus
- Bereitstellung der Images für Kunden