Press "Enter" to skip to content

GOTO 2018 • Optimizing Kubernetes Deployments with Helm • Erwin de Gier


[Musica]
grazie grazie per esservi uniti a me a destra
dopo pranzo e ancora dispiaciuti per cinque
minuti di ritardo penso che vediamo se io
doversi inventare durante il discorso o
risolverlo in qualsiasi altro modo il mio nome è
Evan, qui sono un architetto del divano
traffico di Amsterdam e io sono attualmente
lavorando su un progetto chiamato blocchi che
è una piattaforma di trading in valuta criptata
e corriamo sul motore di google kubernetes
che è la versione ospitata di Uber Need
è fornito da Google così da voi dentro
la stanza che usa già i Kubernet
si prega ah quasi tutta la stanza, quindi se io
chiedi di helm sarà lo stesso
importo va bene così possiamo fare il discorso
insieme torniamo indietro di circa 50 anni
fa quando ho iniziato uno dei miei primi
progetti di sviluppo software principali
progetto la pallina era un file auricolare
fondamentalmente corriamo su una WebSphere e su I
pensa se guardo le persone nella stanza
il collo riconosce questo nome forse ci arriva
Tavoli IBM in pochi mesi, così dopo
WebSphere, noi ci muoviamo verso il dispiegamento della guerra
file su Tomcat e file jar ovviamente
con vertice di avvio a molla ma poi con
i contenitori questo è cambiato un po ‘
non stavamo consegnando il nostro Java
più artefatti ma stavamo consegnando
immagini docker e ora sul progetto noi
iniziare a gennaio fondamentalmente le cose
consegniamo il massimo è giovane quindi penso
80% dei file di cui scriviamo il
AMA volume del volume del file così di
Certo che questo deve fare perché corriamo
Cuba ha bisogno e noi schieriamo la nostra finestra mobile
contenitori all’interno delle comunità ma
le comunità hanno bisogno di molta configurazione
non è solo la distribuzione di una finestra mobile
immagine e lasciandola correre ma c’è un
molte cose che devono essere descritte
intorno ad esso in modo da funzionare correttamente
certo fa un sacco di cose per te
la pianificazione delle istanze di immagini su
porte e networking facendo in modo che
la quantità di repliche è corretta così
dal momento che conosci già i kuberneti, possiamo
forse fai questo un po ‘più veloce e io
normalmente lo fanno, ma questo è fondamentalmente un
panoramica delle cose su cui implementare
kubernetes quando si distribuisce un
applicazione così tutti i punti che puoi
considera le istanze o le pentole del contenitore
i vasi sono fondamentalmente l’unità di pianificazione
che hai praticamente un’app
l’istanza è più o meno correlata a a
pentola e poi ovviamente devi avere
definizioni di servizio per esporre i tuoi vasi
in modo che siano in grado di parlare l’un l’altro
probabilmente aumenta perché vuoi
traffico nel tuo cluster devi
definire quante repliche la tua distribuzione
ha così la quantità di istanze di cui hai bisogno
per fornire informazioni sulla pianificazione ma
anche cose come la configurazione, quindi se tu
per esempio vorrebbe distribuire
qualcosa come un cubo di sonar è uno di
le prime cose che abbiamo implementato in
comunità perché volevamo fare codice
monitoraggio della qualità e host kubernetes
o così così per mantenere noi stessi così, naturalmente
hai bisogno di un’istanza del contenitore queb sonico
ma probabilmente hai anche bisogno di un database
perché vuoi archiviare la tua analisi
risultati se hai un database che ti serve
qualcosa come una persistenza per te
affermare che è fondamentalmente un monte per te
dove il database può memorizzare dati ma
queste cose hanno bisogno di parlarsi
quindi hai bisogno di superfici che probabilmente ho
una sorta di segreto anche perché si
avere una password per entrare nel database
è necessario accedere al sonar in esecuzione all’interno
kubernetes oh hai un ingresso così per
noi è qualcosa come blocchi a
Lincoln è come il sonar e probabilmente a
file di proprietà in cui si memorizza il file
configurazione in modo che assomigli a qualcosa
questa configurazione di installazione voi
probabilmente riconosco questo tipo di
definizione di un ponte ha anche bisogno
configurazione e servizio del pod
configurazioni quindi è un sacco di cose
gestire così una delle prime cose che abbiamo
stavo esaminando è come possiamo gestire
tutte queste distribuzioni di comunità in qualsiasi
modo di vation e uno degli strumenti che
è venuto a gennaio e si è tenuto il timone
è fondamentalmente un gestore di pacchetti per
distribuzioni di comunità in modo che tu possa
confrontalo un po ‘con qualcosa
come Maven per progetti Java o NPM per
JavaScript puoi impacchettare il tuo artefatto
artefatti in un modo che sia in grado di
versione ma anche per condividerlo ma anche per
definire cose come le dipendenze così tanto
simile a un Maven o NPM o o Gradle
e l’obiettivo qui è essere in grado di
gestire complesse implementazioni di kubernetes
e il sonarqube quello che ha mostrato che è un
implementazione abbastanza semplice ma già
coinvolge molte parti mobili, quindi facciamolo
dai un’occhiata a come appare se tu
vuoi installare il cubo di sonar in
comunità con timone quindi in pratica cosa
Ho è ho docker per desktop
correre e come si potrebbe sapere dock per
il desktop ha comunità all’interno
opzionalmente quindi per prima cosa controlliamo se lo sono
collegato alle comunità corrette
esempio questo è un po ‘importante
perché è davvero facile distribuire roba
nell’ambiente sbagliato come te
notato ma ancorato per i suoni del desktop
bene se ottengo il mio nome da qualcuno di voi
vedrà le cose di default che ottieni se
si esegue kubernetes nell’app mobile
che tu sia un sistema cubo pubblico e ora se
vuoi installare sonic tu fondamentalmente
quello che puoi fare è dire installare il timone e
allora il nome delle cose che si desidera
installa in questo caso si chiama stable
quindi niente cubo perché è una versione stabile
il pacchetto cubo sonar e io sono
installandolo in uno spazio dei nomi separato
chiamato Sonic , quindi se lo installi
e fondamentalmente ottieni un risultato da
timone dicendo le cose che il tuo UF installa così
tu riconosci la posizione per te
rivendicare la superficie lo spiegamento e il
porti e segreti ora se abbiamo un
guarda cosa viene effettivamente distribuito
allora abbiamo le nostre due porte per posta
erba e per il cubo del sonar
e naturalmente non ne esce
aria sottile questo spiegamento qualcuno deve
scrivere questi file di distribuzione e il
la cosa bella del timone è che loro
fondamentalmente ha un app store per
applicazioni kubernetes così e aiuto
il pacchetto è chiamato un grafico quindi questo kit
il repository si chiama timeline e
queste sono tutte le definizioni del
grafici che sono disponibili sul pubblico
app store community helm se vuoi
chiamarlo così
quindi c’è qualcosa come un Bitcoin
demone qui per cui abbiamo provato anche per
integrazioni con la blockchain lì
è il nostro cubo di sonar ovviamente così se tu
guarda dentro questa cartella ce ne sono alcuni
configurazione quindi per esempio c’è un
definizione del grafico è scrivibile
nel punto di ritroso non ero in grado di farlo
prova i sospiri del telefono sì, leggibile che
ha un nome e una versione e ha
modelli che sono fondamentalmente modello
file per la definizione, quindi abbiamo a
guarda più dettagliato guardando in un momento
nel frattempo questa startup è così
bello quindi se ora ho uno sguardo a cosa
tipo di servizi sono stati distribuiti poi
ce n’è uno per il database, naturalmente
e ce n’è anche uno per il cubo del sole
front-end web e in realtà espone
importante 9000 a cui siamo abituati
questo ora dovrebbe apparire prima così
è fondamentalmente una linea per installare sonic
cubo nelle tue comunità più vicine quindi lascia
ora lo ripristino
quindi il timone è piuttosto uno strumento tecnico così
Penso che il modo migliore per affrontare questo
processo è farlo da soli ma tu
non devi tagliare il tuo portatile adesso
ma il discorso è impostato in un modo che tu
può probabilmente seguire se vuoi
replicare questa roba fondamentalmente il timone
consiste di tre componenti l’uno
quello che vedi di più è vedere una bugia
è quello che ho usato proprio ora nel mio
interfaccia a linea di comando terminale che
si collega a qualcosa che corre nel
cluster kubernetes che è chiamato a
il timone è un demone che devi
installalo una volta poi gira dentro il tuo
cluster in un namespace e quello
interagisce con le comunità per l’installazione
le tue applicazioni e la cosa bella di
Distiller è che mantiene anche lo stato così
diciamo per esempio normalmente installiamo il nostro
roba attraverso il nostro sistema di CI che usiamo
github CI e quelle funzionanti sono costruite e questo
installa roba per noi in una comunità
cluster e se voglio interagire con
Posso solo scappare dalla mia macchina
il mio elmo CLI contro il timone in
il cluster e ottengo lo stesso stato così
non devi dichiarare localmente sul tuo
macchina lo stato è tenuto nel tuo
comunità cluster questo è qualcosa
dove c’è per esempio il
differenza con terraform che puoi fare
roba simile con terraforma ma quella
mantiene lo stato a livello locale e il terzo
componente è il repository grafico e io
ti ho già mostrato quello pubblico
è paragonabile a un esperto
centrale o un hub docker dove tutti
puoi condividere le definizioni del grafico ma tu
può anche eseguire il proprio repository siamo
in realtà eseguendo il nostro repository per
tutti i grafici che realizziamo e puoi anche
usa i file locali così i file sul tuo file
sistema e questo è qualcosa che stiamo andando
per fare solo ora diamo un’occhiata a
un’altra semplice superficie quindi in pratica questo
servizio come front-end composto da PHP
web server c’è un reddit master e
due reddit e schiavi e questo è il tuo potere
riconoscilo come un esempio di libro degli ospiti
che è spesso usato per kubernetes
tutorial quindi se diamo un’occhiata a come
parte di
il file manifest di tutte le comunità sarebbe
guarda senza timone sarà qualcosa
così questa è la distribuzione
configurazione e software è
interessante per esempio è un riferimento
all’immagine di finestra mobile che si desidera effettivamente
distribuire perché i file sono solo il
llamo file di corso e si deve
puntare a un’immagine docker da qualche parte
distribuito all’interno del registro docker e
per me quando l’ho visto la prima volta
era ok, questo è bello ma non lo so
voglio avere il mio nome dell’immagine e il tag
e la versione in questo file Yama
perché le mie versioni sono dinamiche lì
ci sono un risultato del nostro costruito che usiamo
il nostro git commit hash come numero di versione
quindi non voglio averlo qui così tu
voglio estrarre questo e questo è
in realtà esattamente come funziona casa
fondamentalmente se devi dirlo molto
una breve frase che dici che il timone è come
solo un motore di template per le comunità
manifest file così invece di avere il
valori hardcoded per esempio c’è a
immagine e c’è una variabile di modello in
immagine dot estremità anteriore questi valori caso puntino
e ce n’è uno per la porta del container
così così, naturalmente, è necessario specificare
i valori per generare effettivamente
comunità manifest file quindi se avete
uno sguardo a cosa c’è in un pacchetto char allora
questa è una specie di versione minimale quindi
abbiamo due modelli di modelli è
autunno ho appena mostrato così le comunità
si manifesta tutto all’interno del modello è
versione
c’è un file grafico che è a
descrizione del grafico in modo che i metadati a
nome versione e hai i tuoi valori
file e il file dei valori contiene il
valori effettivi delle cose che vuoi
da inserire nei file manifest, quindi se
Sono corretto, quindi il mio cluster è resettato così
Ora posso ricominciare dall’inizio così
fondamentalmente dove sono ora è un clone di
repository git e che contiene il
grafico ho appena mostrato loro una diapositiva così noi
avere due
tutti i modelli e i valori e
dentro i modelli abbiamo il libro del gas
schieramenti e la superficie del libro del gas
diamo uno sguardo ai namespace okay the
la prima cosa che dobbiamo fare è noi
installare il timone e il timone
ha un timone di comando e lo farà
controlla il grappolo se i carri sono lì
e se non è lì, installa il
tiller e hai già una sicurezza
avvertimento che è una buona cosa
perché di default è il modo in cui è il timone
installato ha accesso a tutto così
può anche fare un cross namespace
interazioni come cross mantiene
implementazioni o rimozione quindi è qualcosa
Tratterò più tardi ma usando il timone
per la produzione bisogna configurarlo
in modo diverso rispetto al modo predefinito ma
questo è un bel modo di avere un rapido
iniziare così se ora diamo uno sguardo al
namespace del sistema a cubo e chiediamo quale
le porte sono disponibili proprio in fondo
puoi vedere che il timone è schierato
lì quindi è solo in esecuzione all’interno del cubo
Anita è anche un bot così ora lo sono
installando il nostro intero guestbook
applicazione dal file sul mio locale
Sistema quindi la prima cosa che dobbiamo
dare è un nome ragionevole altrimenti tu
ottieni un nome generato con il cubo del sonar
uno non abbiamo usato la versione successiva
con il nome della versione che potresti voler
dargli qualcosa che è riconoscibile
Ovviamente specifichi il namespace e io
dì prendere il grafico dalla corrente
il timone della cartella risponde con tutte le cose
si installerà quindi dovremmo farlo ora
avere un nuovo spazio dei nomi così ora abbiamo il
timone libro di cassa dello spazio dei nomi in modo che sia
corretta
quindi vediamo cosa sta succedendo lì
tutto è già pronto così tutto
è schierato
e quando guardiamo le superfici che abbiamo
un paio di servizi abbiamo un front-end
un maestro Redis e uno schiavo rossiccio e
questo espone supporto così possiamo ora
controlla se sta effettivamente eseguendo il sonar
dovrebbe essere corretto
e questo qualcuno potrebbe riconoscere
questo vediamo se funziona così
sempre bello quando la demo funziona così bene
ora abbiamo una distribuzione in modo che possiamo chiedere
timone perché deve dichiarare qual è il
storia di questo spiegamento e, naturalmente
abbiamo solo una revisione, solo
l’ho installato dieci minuti dopo te
ottenere il nome schema e si ottiene una sorta
di descrizione su quella revisione ora
qualcosa che spesso vuoi fare è
installa una nuova versione del tuo
applicazione così timone ha un aggiornamento
comando e in pratica cosa facciamo qui
entrare nel frattempo è forniamo a
valore diverso per una delle cose
era nella nostra descrizione di distribuzione
così nella nostra descrizione di implementazione abbiamo avuto
un riferimento a una versione 1.0 di un’immagine
e quello che ora vuoi fare è dire ok
Voglio mantenere lo schieramento lo stesso
tranne per l’immagine perché tu hai
ha creato una nuova immagine della tua applicazione
lo hai distribuito all’interno della finestra mobile
Registro di sistema che hai controllato con uno
punto uno e ora puoi dirlo al timone
con un parametro della riga di comando su
sostituisci il valore e dì ok, facciamo
installa la versione 1.1 e timone dice bene
tutto è OK è stato creato così se
ora avete uno sguardo alla storia che si
avere due revisioni il primo aveva
stato distribuito è ora superato da a
seconda revisione e quella versione è
schierato quindi tutto dovrebbe funzionare
ok
in questo momento lavora in Africa quindi diamo un
guarda le porte
così quello che ora vediamo è che è necessario
prova a distribuire una nuova versione del nostro
applicazione ma apparentemente l’immagine
non può essere trovato così l’immagine noi
specificato la versione 1.1 non lo è
a disposizione
Non so cosa sia successo voglio aggiustare
così veloce, quindi quello che puoi fare è fare una fila
indietro così timone ha un comando di schienale
dove dici ok il nome della versione
si prega di ripristinare la mia distribuzione a
revisione 1 ok ora vedi il timone sta per
fai un rollback quindi devo guardare il
storia quindi ora vedi che devi
versioni sostituite e quest’ultima
era una riga indietro di questa alla prima
uno così se ora torniamo al
comunità di vista spero tutto
andrà bene tutte le mie parti sono in esecuzione
tutti i miei rapporti sono di nuovo pronti per l’ordine
è stato restaurato
così ho mostrato la carta posit pubblico Ori
e ho mostrato che puoi usarlo come file locali
la cosa che è effettivamente presente
il repository delle ricariche non è esploso
versione di quei file ma è un nostro
pacchetto in modo che il timone abbia un comando da impacchettare
su tutti i file e quindi è possibile caricare
li a un repository funzionante che puoi
anche eseguire un repository locale in modo che tu possa
fai un surfista e poi lo farà
fondamentalmente spin un server HTTP e il
repository è davvero semplice è un HTTP
server con un indice con llamo e
i file del pacchetto quindi non c’è niente
davvero complesso quindi penso che il nostro corre
da qualche parte dentro il cuculo
archiviazione in cui gestiamo i grafici
Ti mostrerò questo app store quindi se tu
usa il repository chart per condividere il
grafici perché questo è qualcosa che noi
fare nel nostro team simile per esempio
Nexus crei un artefatto che carichi
per inserire file in Nexus e poi in altri
i team possono utilizzare gli stessi file jar o te
possiamo usare le librerie condivise con il timone di noi
può fare esattamente la stessa cosa così
qualcosa che usiamo all’interno del nostro cluster
è un server esonico che è fondamentalmente un
negozio di eventi e un hub di comunicazione ma
non è disponibile un diagramma del timone per
quell’uno e là anche non era un portuale
immagine disponibile per quello così noi
creare le nostre carte del timone proprio
immagini docker e abbiamo più
grappoli che eseguono quei prodotti accenti
e vogliamo riutilizzare quei file così noi
inserirli in un archivio grafico e
ora possiamo semplicemente installarli dal
repository ma, naturalmente, un sacco di
la configurazione in là è ragionevole
predefinito ma non è sempre quello che tu
voglio che io pensi qualcosa come un database
password che probabilmente vorresti cambiare
che per il tuo grafico tu quello che tu
non voglio usare quello che c’è nel
repository pubblico o anche nel tuo
repository privato e potrebbe essere
ingresso come persistenza
le tue affermazioni potrebbero anche sostenere le risorse
tutti i tipi di cose che vuoi
personalizza te stesso ma lo vuoi ancora
fai la condivisione quindi c’è un addebito
valuta il file llamo che contiene il file
impostazioni predefinite che puoi anche fornire
possedere yomel con il comando F del cruscotto e
allora puoi dire okay questo file dei valori
è uno specifico per la mia produzione
ambiente e devi solo mettere il
roba lì dentro che vuoi scavalcare
la terza opzione che ti ho mostrato può anche
mettilo in linea di comando così da ignorare
valori specifici e per esempio se io
voglio eseguire un coupon solare 9000 uno
invece di 9000 potrei fare il set surface
porta esterna 9000 e poi lo farà
sovrascrivere il valore 9000 e posso usarlo
sulla porta specifica e l’ultima opzione
è quello di utilizzare il file impostato e si può semplicemente
passare un intero file sulla riga di comando così
questo riguarda la configurazione ora lo sai
che se distribuisci roba su Kubernetes
di solito è composto da più di uno
cosa così, ad esempio, per il nostro problema sonico
vogliamo usare un database e il bello
la cosa del timone è simile a farti sentire
possibile specificare le dipendenze tra tra
grafici quindi questo richiede il file llamo
quello superiore è in realtà parte del
sonic qube chart e definisce entrambi i
Postgres e una dipendenza MySQL e a
numero di versione e la cosa bella di
questo è possibile utilizzare le condizioni per
specificare quali dipendenze si desidera
caricare in modo da poter avere un intero complesso
albero delle dipendenze e quindi basato su
che tipo di spiegamento puoi fare?
dire okay abilita Postgres dot abilitato così
hai messo lo strumento Postgres abilitato è vero
nel file di errori o sul
riga di comando e quindi verrà installato
che un altro modo per scegliere l’altra
e quei requisiti llamo file
direttamente correlato con il grafico
descrizioni della dipendenza del
libreria di cui sei dipendente , quindi se vai
al
repository di carte del timone è questo
da Sonic Qube se vai a Postgres
allora troverai effettivamente la carica
su file con queste informazioni così puoi
riferimento da un’estremità all’altra e
questa è solo una dipendenza o in realtà
due ma puoi farne interi alberi
questo usando questo meccanismo per avere
applicazioni davvero molto complesse con
diverse parti mobili che possono essere
distribuito come parte di una versione, quindi come
usiamo il timone che fondamentalmente usiamo get lap
CI e nelle nostre build ovviamente abbiamo costruito
i nostri file jar Java avviano file jar di avvio
e poi creiamo un registro docker noi
spingere l’immagine lì e se il grafico
cambiamenti per questa distribuzione abbiamo costruito a
grafico e lo carichiamo su un grafico
repository ma è qualcosa che
che non capita molto perché
in pratica, dopo un paio di iterazioni si
sapere come appare la tua applicazione e e
l’unica cosa che cambi è la
valori e non cambi la carica
più da solo e poi usiamo il timone da
il nostro laboratorio CAD ci per aggiornare la nostra app all’interno
kubernetes e la cosa bella per questo
è che penso che corriamo su, diciamo
15 servizi e tutti usano il
stesso grafico di una definizione di servizio e
abbiamo solo piccole differenze
tra i nostri schieramenti in cui usiamo il
file di valori specifici a destra così
fondamentalmente questo è per noi davvero bello
modo di condividere il nostro file di comunità
manifest file ma essere ancora flessibile dentro
cosa c’è lì dentro e questo è per il
roba che abbiamo costruito noi stessi ma anche noi
avere un processo simile in esecuzione in a
CI cancello separato per tutti i nostri
cose relative all’infrastruttura così per
Ad esempio, io sarò sonic qube è qualcosa
abbiamo corso ma usiamo anche la chiave
orologio dentro e un nesso e usiamo a
approccio simile per questo tranne quello
per molti componenti standard noi
non applicare noi stessi i diagrammi di carico
perché usiamo solo
un grafico dal repository grafico così tu
potrebbe fare anche corse a secco così simili a
il controllo del cubo applica puoi chiedere al timone cosa
succede se distribuisco questa versione del mio
grafico basta specificare il funzionamento a secco e il debug
e il timone stamperà effettivamente uno stato
quello sarà il tuo stato dopo di te
aggiorna i comandi del timone che c’è
qualcosa che ti permette di creare il tuo
possedere grafici usando starter così solo tu
può creare un grafico vuoto molto simile
esperto, ma con Nathan con generare
archetipo consente anche di generare
qualche tipo di modello hanno a
funzione simile che è chiamata il
antipasto I mostra il versioning del grafico c’è
anche la possibilità di firmare i tuoi grafici e
questa è una buona opzione se condividi il tuo
grafici in un ambiente diverso se tu
può generare un hash di controllo dell’integrità
con il tuo grafico e poi sull’installazione
o sul comando di aggiornamento che puoi dire
timone verifica l’integrità di questo
grafico così perché stai distribuendo materiale
all’interno dei cluster di produzione si potrebbe
voglio essere sicuro al cento per cento che il
la cosa che distribuisci non contiene
tutto ciò che non dovrebbe essere lì così questo
ti permette di verificarlo contro un noto
valore per le condizioni già per
specificando la dipendenza che si può avere anche
un approccio più generico che viene chiamato
i tag puoi avere un elenco di tag per
istanza front-end potrebbe essere un tag e
quindi se hai tack front-end abilitato
quindi tutte le dipendenze con quel tag
sarà schierato e finalmente quello che è
interessante è perché ho avuto un
discussione ieri con qualcuno e lui
ha detto che stiamo facendo i codici dell’infrastruttura
ma non testiamo così hanno messo il codice
senza testare nulla in sostanza e
ovviamente abbiamo una situazione simile
fortunatamente per cose che abbiamo distribuito all’interno
Il timone di Kubernetes fornisce un modo per testare
nostro
e ciò che effettivamente fa è distribuire
qualcosa dentro le comunità come a
pentola separata e ad esempio un test
potrebbe essere semplice come fare un ricciolo per alcuni
tipo di URL e se tagli le 200 vendite
codice allora il test è ok e se
non capisci che il tuo test non ha successo
quindi questo è un meccanismo che ti permette
per automatizzare il test e quindi fondamentalmente
se un test fallisce potresti dire ok se
il test fallisce, per favore torna a
disposizione diversa o qualcosa di simile
questo o almeno ha un avviso o
monitoraggio perché se hai prestato attenzione
durante la demo il mio aggiornamento non è riuscito ma
il timone era felice
ha appena detto schierato felice timoniere così
non c’è una relazione diretta tra a
distribuzione del timone e il risultato di ciò
la distribuzione della distribuzione può ancora fallire
e il timone non sa di questo e di quello
non informa su questo quindi il test
caratteristica potrebbe essere un modo per aggirare questo io
menzionato il timone di avvertimento timone corre
in modalità privilegiata, in pratica, può farlo
molto è permesso accedere a molte
praticamente tutti i namespace puoi
installa e rimuovi le cose quindi c’è un
integrazione con accesso basato su file
controllo e fondamentalmente è così che corriamo
a casa così creiamo l’ account di servizio
e quindi specifichiamo quali restrizioni
ci sono o fondamentalmente quali accesso
l’ account di servizio è per esempio
davvero importante da pensare
limitando gli spazi dei nomi se si utilizza
namespace come separazione logica nel tuo
cluster presumo che la produzione è
di solito un cluster separato ma per
istanza abbiamo un gruppo di strumenti successivo
alla chiusura dello spazio dei nomi accanto a
lo spazio dei nomi in cui la nostra applicazione
corre e potresti volerlo avere
diversi timonieri e diversi
account di servizio associati con loro così
al posto del timone aereo puoi farlo
fai un timone con un account di servizio
e in questo modo puoi limitare la roba
quello che ci ha trattenuto e ora il prossimo
è più di una domanda per te
e quando ho iniziato a gennaio, noi
fondamentalmente guardato
e terraformare perché terraform ha a
plugin per il profiler di kubernetes
il grosso lato negativo di terraform allora era
che non era davvero al passo con
la versione api così ogni volta che c’era
una nuova versione dell’API per le comunità
rilasciato con nuove funzionalità quindi
la terraform era alle spalle, inizialmente pensavo
è bello perché usiamo terraform
fornire i nostri cluster sulla nuvola di cacao
quindi sarà bello averne uno ma
alla fine il timone era molto più in forma ma
nel frattempo ho scoperto un sacco
di diverse alternative e e anche
diverse alternative su come il
il problema viene affrontato, ad esempio
il timone è fondamentalmente motore di ping template
quindi è molto vicino alle cose che
farebbe con il controllo della coda che c’è
qualcosa che viene inseguito si chiama JSON
modelli uh è anche un modello
linguaggio ma è piuttosto diverso da
le cose che usa il timone ho trovato a
sonetto e capitale hai anche il
approcci dichiarativi che sono carini
bello, penso che se sei più da un
prospettiva dello sviluppatore che ho citato
terraform ma c’è anche personalizzato così
invece di avere 10 piatti nel tuo Yama
file in cui si dichiara effettivamente il tipo di
risorse che desideri con DSL I
sapere che le persone dicono bene che non interagiamo
con le nostre comunità a questo livello noi
utilizzare l’ approccio di messaggistica di servizio per la gestione
così STL è stato nominato come alternativa e
ci sono un sacco di alternative
integrare più a livello di gate così
fondamentalmente sei il proach che vorresti
prendi te, puoi fare il tuo cappotto
in un repository di kit e poi c’è a
strumento che lo costruisce per lo specifico
distribuzione e poi viene distribuito
alle comunità quindi questo è qualcosa che
Penso che la prima versione di openshift
Ho usato questo su Cloud Foundry I
pensa di avere un approccio simile quindi
tutta la parte della costruzione della tua finestra mobile
immagine e caricamento in un repository
e specificare la propria configurazione è
togliendo l’equazione e
lo facciamo per te così comincio chiunque
la stanza che ha qualcosa da aggiungere alla
questo usano un approccio diverso a
schieramento o uno che ho perso ho questo
buon mi dispiace
va bene
mm-hmm okay, non l’ho esaminato
uno potrebbe essere interessante dopo un discorso
per avere uno sguardo più da vicino perché io
ho notato che il kubernetes è piuttosto caldo
naturalmente molte persone lo usano ora a
un anno fa era un po ‘meno ma
ci sono molti strumenti su Kubernetes
spuntando e ogni volta che faccio questo discorso
è come oh sì ho questo o
questo così questa diapositiva crescerà e
crescerò forse andremo via da come
molti anni per noi penso che il timone sia molto
buon adattamento ci permette di gestire complessi
schieramenti e soprattutto roba in giro
controllo delle versioni e aggiornamento delle app
il rollback era qualcosa che inizialmente
pensavo che avremmo usato molto ma noi
in realtà mai usato mai il rollback
tranne nella demo che ho appena fatto
pensieri intorno a te fanno un dispiegamento e
allora forse fai qualche controllo di salute e
allora il tuo script può essere controllato se
la distribuzione è corretta e potresti farlo
devo fare un rollback ma in realtà
il livello di kubernetes è già così
molto che ti impedisce di dispiegare
qualcosa che non funziona se lo hai
i tuoi controlli di integrità correttamente configurati
quindi i kubernetes possono solo rilevare se
il piatto è sano e se non lo è
è sano non è mai parte di
il dispiegamento più e tu solo
rimani con la tua vecchia versione ma forse dentro
il futuro c’è ne avremo di più
implementazioni complesse che è più difficile
per rilevare la salute solo da una salute
sull’endpoint ma l’aerobica non è qualcosa
questo è quello che fa attualmente parte del nostro
gasdotto e finalmente mi piace lì
non è facile condividere il nostro timone
configurazione anche per esempio che abbiamo avuto
prendere una decisione su come fare l’utente
registro di gestione in una registrazione e noi
finalmente perché ho scelto il mantello chiave e poi
abbiamo pensato bene ma poi dobbiamo
gestiamo noi stessi il mantello chiave perché
non c’è una nuvola di chiave ospitata ma noi
ha appena installato il cappa della chiave stabile
e abbiamo avuto l’orologio chiave in esecuzione così per me
questa è una funzionalità davvero potente
di usare il timone per cose che sono
prontamente disponibile grazie mille Grazie
il top vi ringrazia interessante
[Applausi]

Please follow and like us: