Introduzione
Si supponga di aver avviato un nuovo lavoro come sviluppatore software presso l'azienda all'aperto Contoso, che vende vestiti e regali. L'azienda è in espansione e di recente è stato effettuato il refactoring del sito Web di Contoso, che indica se gli articoli sono disponibili o meno, in microservizi ospitati in contenitori Docker.
In un approccio allo sviluppo basato su microservizi, ogni microservizio è proprietario dei rispettivi modelli e dati, quindi è autonomo dagli altri microservizi dal punto di vista dello sviluppo e della distribuzione. L'hosting dei microservizi all'interno di un contenitore è un modo comune per ottenere questo risultato. L'aumento del numero di istanze e la gestione di questi tipi di sistemi sono complessi. È necessario considerare il processo di organizzazione, aggiunta, rimozione e aggiornamento di molti contenitori. Questo processo è chiamato gestione dei contenitori.
Ad esempio, in determinati orari del giorno potrebbe essere necessario aumentare il numero di istanze di contenitore che gestiscono la memorizzazione nella cache. In alternativa, potrebbe essere disponibile un aggiornamento dell'istanza del contenitore che controlla l'inventario merci.
Per facilitare le attività di gestione dei contenitori, è possibile usare un agente di orchestrazione. Kubernetes è un agente di orchestrazione di questo tipo. È una piattaforma open source estendibile per la gestione e l'orchestrazione dei carichi di lavoro in contenitori.
Questo modulo illustra Kubernetes, i problemi che consente di risolvere e la distribuzione di un'API Web .NET e di un'app Web in un cluster Kubernetes.
Obiettivi di apprendimento
Contenuto del modulo:
- Informazioni sui concetti alla base degli agenti di orchestrazione e sui motivi per cui potrebbero essere necessari.
- Eseguire il push in Docker Hub di un microservizio .NET esistente ospitato in un contenitore Docker.
- Distribuire il microservizio da Docker Hub a un'istanza di Kubernetes locale.
- Informazioni su come ridimensionare un'istanza di contenitore in un cluster Kubernetes.