Knative

Op Kubernetes gebaseerd platform voor het ontwerpen, implementeren en beheren van moderne serverloze productietaken.

Belangrijke basisprimitieven voor iedereen

Knative is oorspronkelijk gemaakt door Google, heeft bijdragen van meer dan vijftig verschillende bedrijven en biedt een verzameling essentiële componenten om serverloze apps in Kubernetes te ontwerpen en uit te voeren. Knative biedt functies zoals schalen naar nul, automatisch schalen, builds in clusters en een gebeurtenissenframework voor cloudeigen apps in Kubernetes. Knative maakt code van de praktische tips die door goed werkende Kubernetes-frameworks worden gedeeld en doet dit zowel lokaal als in de cloud als in datacenters van derden. Het belangrijkste is dat ontwikkelaars zich met Knative kunnen richten op hun code en zich geen zorgen hoeven te maken over de 'saaie maar moeilijke' aspecten van het ontwerpen, implementeren en beheren van hun app.

Ontwikkelaarsvriendelijke software

Knative biedt een reeks herbruikbare componenten die gericht zijn op het oplossen van veel alledaagse, maar moeilijke taken, zoals het app-ontwerp van broncode tot containerimages, de routing en het beheer van verkeer tijdens implementaties, het automatisch schalen van productietaken en het verbinden van actieve services met het groeiende ecosysteem van gebeurtenisbronnen. Knative herkent containerimages als de implementatie-eenheid. Daarom kunnen ontwikkelaars gebruikmaken van alle talen, frameworks en idiomen die ze kennen.

Ondersteunt populaire ontwikkelpatronen

Knative is gericht op idiomatische ontwikkelprocessen en ondersteunt veelgebruikte ontwikkelpatronen zoals GitOps, DockerOps, ManualOps, maar ook tools en frameworks zoals Django, Ruby on Rails, Spring en nog veel meer.

Het beste van beide werelden: flexibiliteit en controle

Knative kan eenvoudig worden ingepast in bestaande ontwerp- en CI/CD-toolketens. Bedrijven kunnen zich daardoor concentreren op open-source-eerst-technologieën die overal, in elke cloud, op elke infrastructuur die door Kubernetes wordt ondersteund, kunnen worden uitgevoerd. Zo kunnen ze de uitvoering van productietaken vrij verplaatsen naar de gunstigste locaties en beschikken ze over de flexibiliteit en controle die ze nodig hebben om het systeem aan hun unieke eisen aan te passen.

Serverloze productietaken uitvoeren zoals u dat wilt

Knative biedt een open API en runtime-omgeving waarmee u serverloze productietaken overal kunt uitvoeren, volledig beheerd in Google Cloud, in Google Kubernetes Engine (GKE) of in uw eigen Kubernetes-cluster. Met Knative kunt u eenvoudig beginnen met Cloud Run en later overstappen op Cloud Run in GKE of in uw eigen Kubernetes-cluster beginnen en later naar Cloud Run migreren. Zolang Knative het onderliggende platform is, kunt u productietaken vrij tussen verschillende platforms verplaatsen tegen minimale kosten.

Knative-componenten

Build

  • Een configureerbare, flexibele aanpak om broncode in containers te ontwerpen

  • Invoegbare modules op basis van Dockerfiles of ontworpen templates

  • Geen crosscompilatie of lokale tools voor builds vereist

  • Ondersteuning van artefacten in het cachegeheugen voor snellere builds

  • Reservecapaciteit voor een beter gebruik van resources

Actief

  • Abstractie op hoger niveau, eenvoudig om het objectmodel te bestuderen

  • Naadloos automatisch schalen op basis van HTTP-verzoeken

  • Geleidelijke uitrol van nieuwe revisies

  • Integreert netwerken en servicemeshes automatisch

  • Invoegbaar: koppel uw eigen platform voor logboeken en controle

Gebeurtenissen

  • Abonnement, levering en gebeurtenissenbeheer zijn universeel

  • U kunt op losse wijze gekoppelde systemen op basis van gebeurtenissen ontwerpen met objecten op hoog niveau

  • Declaratieve bindingen tussen gebeurtenisbronnen en services die de gebeurtenissen verwerken

  • Schaalbaar van slechts enkele gebeurtenissen tot live streams

  • Custom gebeurtenispipelines voor koppeling met uw bestaande systemen

Met Knative kunnen onze ontwikkelaars zich richten op het ontwerpen van de bedrijfslogica zonder zich te bekommeren om het ontwikkelen van platformmogelijkheden op lagere niveaus, zoals het ontwerpen, implementeren, automatisch schalen, controleren en observeren. Onze T-Mobile-winkelzoeker-app, ontwikkeld in Java/Vert.x, kon bijvoorbeeld eenvoudig worden gemigreerd naar GCP met Knative. We hebben dit in slechts één sprint gedaan, aangezien Knative veel mogelijkheden op platformniveau bood die onze ontwikkelaars niet hoefden te ontwerpen.

— Ram Gopinathan, Principal Technology Architect, T-Mobile

Bronnen

Cloud Run-documenten

Een container implementeren in Cloud Run

Documenten voor Cloud Run op GKE

Een container implementeren in Cloud Run op GKE

Bronnen voor ontwikkelaars

Overzicht van Knative en de bijbehorende componenten

Google Cloud

Aan de slag

Serverloze productietaken ontwerpen, implementeren en beheren met Knative

Volg de snelstartgids voor Cloud Run om aan de slag te gaan met Knative. Voor implementerende partijen die een Knative-omgeving willen aanbieden, is er een installatiehandleiding beschikbaar op github.