Secure deployment of applications in Kubernetes on Google Cloud
Abstract
Sikkerhet, effektivitet og tilgjengelighet går ikke alltid hånd i hånd, men kan det?Kubernetes er en usikker platform, og vil kanskje ikke sees som en riktig løsningfor spørsmålet, men gjennom kombinasjoner av eksisterende og funksjoner underutvikling kan det bli veldig enkelt.Headit AS er ett utviklingsfirma fra Hamar, Norge, og oppdraggiveren for denneoppgaven. De ville at vi skulle undersøke hvordan kjøre Multi-tennant løsnigner iKubernetes på en sikker måte, og om vi hadde idéer til hvordan forbedre på dersnåværende Kubernetes system. Samtidig skulle vi kartlegge muligheter til å for-bedre løsningen på kort og lang sikt med tanke på ytelse, oppsett av programmerog konfigurasjon.For å gjøre disse undersøkelsene fikk vi tilgang til ett test miljø i Google Cloud, ogdemo applikasjoner basert på nåværende måter å kjøre applikasjoner i systemet.Undersøkelsene våre baserte seg på å fjerne nettverks policyene en etter en forderetter å monitorere trafikken mellom Pod-er ved hjelp av Kali. Vi gjennomførtedisse undersøkelsene flere ganger under gjennomføring av oppdaven for å val-idere dataene.Gjennom grundige tester av de gitte ressursene og fordypning i platformen kanman trekke Kubernetes fra en usikker platform fra standardoppsettet til en sikkerog effektiv plaform gjennom eksisterende og kommende funksjoner, med ekstratjenester lagt til i Kubernetes miljøet.I forbindelse med det å anbefale forbedringer til Headit så undersøkte vi forskjel-lige løsninger som hjelper med bruk, oppsett og oppdattering av ett Kubernetesmiljø. Security, efficiency and accessibility do not always go hand in hand, but can they?Kubernetes as a platform by default might not give the correct answer but by usinga combination of existing functionality and coming ones, it can be easier than ever.Headit AS is a software development and integration company located in Hamar,Norway, and our theises employer. They asked if we could look into secure oper-ations of Multi-tennant solutions within Kubernetes and if we had recommenda-tions for improving their current Kubernetes system, as well as maping out waysto improve their current solution both in short and long term in regards to per-formance, setup and configuration.In order to do these investigations, Headit provided us with a test environmentwithin Google Cloud and a demo application running based on their current sys-tem operation.In this test environment, we dismantled the security added through NetworkPolicies by removing them one at a time and monitoring the cluster for Networktraffic between Pods. In addition, we also conducted tests at different stages inorder to validate our findings. Through in depth testing of provided materials andresearch into the platform, we can make Kubernetes go from unsecure to secureand efficient through modern added functionality and other services added to theKubernetes environment.To recommend improvements to Headit, we researched different solutions in or-der to make operating, setting up and updating a Kubernetes environment.