Avere un bel ciclo di feedback sullo sviluppo locale è un argomento di rapido sviluppo nell'ecosistema Kubernetes.
Rompendo questa domanda, ci sono alcuni strumenti che credo supportino bene questo obiettivo.
Docker per Mac Kubernetes
Docker per Mac Kubernetes ( Docker Desktop è il nome generico multipiattaforma) offre un'opzione eccellente per lo sviluppo locale. Per la virtualizzazione, utilizza HyperKit che è costruito sul framework Hypervisor nativo in macOS invece di VirtualBox.
La funzione Kubernetes è stata rilasciata per la prima volta come beta sul canale edge nel gennaio 2018 e da allora ha fatto molta strada, diventando un Kubernetes certificato nell'aprile 2018 e passando al canale stabile nel luglio 2018 .
Nella mia esperienza, è molto più facile lavorare con Minikube, in particolare su macOS, e soprattutto quando si tratta di problemi come RBAC, Helm, hypervisor, registro privato, ecc.
Timone
Per quanto riguarda la distribuzione del codice e il recupero degli aggiornamenti a livello locale, Helm è una delle opzioni più popolari. Puoi pubblicare le tue applicazioni tramite CI / CD come grafici Helm (e anche le immagini Docker sottostanti a cui fanno riferimento). Quindi puoi estrarre questi grafici dal registro dei grafici Helm localmente e aggiornarli sul tuo cluster locale.
Azure Draft
Puoi anche usare uno strumento come Azure Draft per eseguire semplici distribuzioni locali e generare grafici Helm di base da modelli di linguaggio comune, un po 'come i buildpack, per automatizzare quel pezzo del puzzle.
Skaffold
Skaffold è come Azure Draft ma più maturo, molto più ampio e realizzato da Google. Ha un'architettura molto collegabile. Penso che in futuro più persone lo useranno per lo sviluppo di app locali per Kubernetes.
Se hai utilizzato React, penso a Skaffold come " Crea app React per Kubernetes".
Kompose o Compose su Kubernetes
Docker Compose , sebbene non correlato a Kubernetes, è un'alternativa che alcune aziende utilizzano per fornire un ambiente di sviluppo locale semplice, facile e portabile analogo all'ambiente Kubernetes che eseguono in produzione. Tuttavia, seguire questa strada significa divergere le impostazioni di produzione e di sviluppo locale.
Kompose è un convertitore da Docker Compose a Kubernetes. Questo potrebbe essere un percorso utile per qualcuno che esegue già le proprie applicazioni come raccolte di contenitori in locale.
Compose su Kubernetes è un'offerta open source di recente (dicembre 2018) di Docker che consente di distribuire file Docker Compose direttamente in un cluster Kubernetes tramite un controller personalizzato.