
grazie mille a tutti per essere venuti
contesto rapido che cosa è questo discorso così a
un livello sarà un kubernetes
panoramica quindi se conosci tutto il
kubernetes cose che probabilmente puoi trovare
un discorso migliore da guardare che ha detto anche io
voglio parlare del tipo di contesto di
dove questo si adatta e tocca a
un po ‘quando hai questo
raccolta di contenitori sparsi
macchine dove metti la tua roba
dove immagazzini i tuoi dati cose come
quindi cominciamo così ciao, sono
Brian Dorsey puoi vedermi su
Internet
Cerco di ottenere il mio nome si trasforma in tutto il mondo
fuori c’è un sacco di Brian Dorsey
il mondo ma cercherò di ottenere il mio
nome in tutti i posti in cui si trova
Khan quindi ho pensato che avremmo fatto un po ‘
scegli la tua avventura personale e noi faremo come
molte persone hanno iniziato un contenitore
se stessi ok stiamo saltando ok non lo farò
mettiti attraverso i contenitori che comprerò a
il nuovo modo racchiude tutta questa roba
la cosa che penso sia davvero rilevante è
questi voglio solo un tocco
contenitori sono questi strati isolati di
le immagini che gestiamo i contenitori
da queste raccolte isolate di
file e questo è davvero un granché
cosa potente sai che siamo tutti
molto eccitato ma una delle cose
Penso che sia interessante è come
cambia i tempi in cui ti imbatti
problemi e quindi in qualche modo questo spinge
un sacco di problemi di integrazione in su
nella tua continua integrazione
il tuo sistema di costruzione e penso che sia così
davvero potente in modo che tu possa tipo
pensandoci pensateci presto vincolanti
piuttosto che legare tardi al tuo
macchine di produzione quindi penso che sia così
interessante quindi i contenitori sono fantastici
siamo tutti dentro
corriamone molte ovunque e
è lì che entra Kubernetes, quindi è così
Penso che siamo a questo punto interessante
dove abbiamo qualcosa di nuovo che possiamo
aggiungi alle nostre decisioni architettoniche
il nostro problem-solving quando hai un
problema nel cercare di lavorare attraverso le cose
quindi abbiamo così abbiamo fisico
computer possiamo andare a prendere un mucchio di
computer e possiamo collegare la rete
cavi e li facciamo possiamo usare virtuale
computer macchine virtuali e l’API
è lì sembra quasi esattamente come il
macchine virtuali che hai dato
io un computer ci mette un disco collegato
queste due reti insieme questo tipo di
cosa
o siamo in grado di saltare tutta la strada per piattaforme
come una roba di servizio e dammi il tuo codice
e prometto di eseguirlo e ridimensionarlo
ma devi scriverlo in un particolare
modo per abbinare si conosce lo stile Heroku o
Stile App Engine o sai qualunque cosa
la piattaforma è il servizio che ti dà e
Sono super eccitato in questo come nel
lo scorso anno o giù di lì ce ne sono molti
opzioni ora per questa questa via di mezzo
di quando vuoi trattare un intero gruppo
di macchine come un computer logico e
vuoi gestire i tuoi contenitori in lotti
delle macchine li trattano come uno ma
vuoi lavorare più vicino al
il software reale che hai quindi è lì
ed è questo che è Kubernetes
uno di questi scheduler del contenitore
orchestratori questi pezzi così è
Greco per timoniere che sto andando a probabilmente
fai questo sbagliato ma penso all’originale
I greci probabilmente sono così nella stanza
qualcosa di più come i kubernetes ma è così
è uscito dalla costa occidentale degli Stati Uniti
Uniti quindi è goober di Nettie dispiace che
gestisce e gestisce i container che è
ispirato da Google che esegue un sacco di
contenitori in produzione e ora quello
è stato un progetto open source per a
è cresciuto in un anno e mezzo
soddisfare i bisogni di un gruppo molto più ampio
che solo tipo di Google, ma è
decisamente ispirato dai modelli che noi
conosci il lavoro su Google puoi eseguirlo
più ambienti cloud diversi
puoi eseguirlo sui tuoi computer
Supporta ovviamente la finestra mobile ma anche
conosci il razzo e sai che l’app vede
roba e quel genere di cose aperte al 100%
fonte open source per i reali se vuoi
sta a github i problemi ci sono
come puoi andare a guardare le persone litigare
il codice
e l’attenzione è rivolta alle applicazioni gestite
non solo macchine quindi questa è la diapositiva
tutto a Google viene eseguito in contenitori
probabilmente c’è un piccolo asterisco lì
da qualche parte ma ma praticamente tutto
che hai mai interagito con Google
saggio sta correndo in un contenitore da qualche parte
nel centro dati
quindi tutte le mappe di ricerca di Gmail compreso if
usi cose da Google cloud
piattaforma così le macchine virtuali sono
anche in realtà in esecuzione in contenitori così
è contenitori tipo di tutto il senso giù
e abbiamo lanciato probabilmente più di questo
ora ma oltre due miliardi di contenitori per
settimana che è stata formulata con cura, abbiamo lanciato
due milioni di contenitori a settimana e così tu
può pensare a Kubernetes come un kit di strumenti per
aiutandoti ad affrontare le cose che corri
in sistemi distribuiti regolarmente così
c’è un sacco di cose che vengono fuori
più e più e più volte come fanno i pezzi
Trovati l’un l’altro come fai il log
costantemente come fai il debug di te
mantieni le cose in esecuzione come pensi
fuori dove le cose dovrebbero essere eseguite
per essere il più efficiente uno dei più grandi
ragioni per fare qualcosa come un cluster
ampio sistema di pianificazione è quello di guidare
efficienza e ridurre i costi e sai
solo una migliore gestione più facile del
cose tutta questa roba e tutti questi
i pezzi sono costruiti in kubernetes e
aiutarti a gestire le tue applicazioni, quindi facciamolo
iniziare con un cluster e questo potrebbe essere
e io voglio rompere questo
perché la maggior parte del discorso che sto per passare
sul tipo di utilizzo di Kubernetes, ma c’è
questo se decidi come se questo
i discorsi ti ispirano come si, vado
giocare con esso arriverà a questa startup
parte e questo può essere impegnativo in modo gentile
di separare l’ottenimento di un cluster
in esecuzione dall’uso
cluster di kubernetes, quindi è necessario ottenere un
cluster in qualche modo è possibile utilizzare il cloud
risorse è possibile utilizzare i propri computer
avrete bisogno di una rete di sovrapposizione per il
networking e vedrete perché in pochi
momenti puoi eseguirlo su qualche lampone
PI’s ci sono alcune grandi demo online di
persone che gestiscono kubernetes su lamponi
Funziona in molti e molti posti e
conosci una specie di grafico abituale e gratuito
hai un master che parla HTTP a riposo
– tu e gli strumenti da riga di comando e il
web UI e poi c’è un processo
in esecuzione su ciascuno dei nodi in modo che il
macchine virtuali o ovunque tu sia
gestendo questo che è il cubelet e it
parla alla finestra mobile o qualunque sia la tua
la tecnologia del contenitore che stai utilizzando e
assicurarsi che tutto è nella
affermare che il cluster vuole che sia
e solo per essere concreto in modo da poter afferrare
le diapositive più tardi
tu essenzialmente esporti conosci un
variabile di ambiente per dire che questo è il
fornitore voglio usare e si può fare
quello che trovo tipo di scomodo curl SSH
pipe to bash dove potresti salvarlo
e guarda il file e decidi di farlo
te stesso
e abbiamo molte ricette in effetti
probabilmente troppe ricette per come impostare
su un cluster e offriamo un hosted
Versione così che parlerò
quindi, in realtà, sembra che usi
questo così ora stiamo commutazione in
il tipo di modalità d’uso quindi se ne hai uno
immagine da qualche parte questo è per esempio il
immagine standard di nginx che si trova sulla finestra mobile
hub è possibile in una riga eseguire due copie
di quell’immagine da qualche parte nel tuo cluster
e nemmeno bisogno di preoccuparsi o sapere dove
quei ragazzi sono
quindi in realtà andiamo a farlo ok
quindi andremo in modalità demo questo è questo
vivi ciao così in alto qui ho lasciato
in realtà copiare questo fuori questo sarà
eccitante hai capito quando hai capito
in demo sei come dovrei avere
fatto così un modo diverso che sono io
in questo momento va bene così ho eseguito quel comando e
immediatamente potremmo sorridere ok bene
va in sospeso e poi in esecuzione
sotto e nella metà inferiore sono
in realtà basta eseguire la riga di comando
strumento per il controllo del cubo delle comunità
conosci il ciclo di osservazione, quindi in realtà sono solo
eseguendolo una volta al secondo tre volte
una volta per mostrare in cima quali sono i baccelli
eseguendo quali controller di replica
e quali servizi e così stiamo andando a
vedere questo più e più volte in tutto il
parlare, ma fondamentalmente in cima abbiamo
contenitori che funzionano così solo io
ha iniziato due contenitori lì e quelli
sono buoni per andare e quindi possiamo possiamo dire
in realtà
volevo avere più di quelli così siamo
ridimensionare questo controller in modo approssimativo
controller da cucina
si chiama mio nginx e vogliamo che io no
sapere per quelli qualcosa del genere così noi
parlato con il maestro dice oh hey
quattro è più di due io in realtà solo
ho due in esecuzione fammi iniziare il nuovo
quelli e alzarsi e pronti ad andare così
questo è un tipo di sensazione molto veloce per
quello che sembra davvero utilizzare questo
ed e questi questi contenitori sono in su
e stanno eseguendo la configurazione di
quello che dovrebbe essere lo stato non v’è
ora nel server in nel cluster e
quindi se succede qualcosa a uno di questi
contenitori e si schiantano otterranno
riavviato anche se dormo e lo è
costantemente e parleremo di questo
di più, ma sta controllando costantemente oggi
Ho chiesto quattro di loro e quanti
sono in realtà lì e simili così questo
è un branco di balene e questo è un baccello di
contenitori Credo di sì
se voi ragazzi siete qui per il precedente
parlare di un pod è una raccolta di contenitori
che siamo strettamente legati siamo noi
credo fermamente che questo è molto
astrazione molto preziosa da aggiungere
il mix di ciò che questo ti dà è il
questa è l’unità di pianificazione in kubernetes
l’ atomo uno di questi ottiene sempre
programmato su una macchina e dal
prospettiva dei contenitori all’interno del
pod tutti gli altri container sono accesi
lo stesso host logico in modo che possano parlare
alla rete di host locale possono fare IPC
possono vedere gli stessi volumi lo stesso
disco tutti gli Yume ma altri pod sul
lo stesso host non può vedere le stesse cose così
questo ti regala qualcosa di veramente bello
proprietà per esempio se un intero gruppo
dei tuoi contenitori sei il tuo pod tu
ascolta sulla porta 80 puoi programmare
più pod sullo stesso host fisico
tutti usano la porta 80 perché ogni pod
ottiene il proprio indirizzo IP nel cluster
quindi ogni pod ha il suo indirizzo IP
i pod possono parlare tra loro direttamente
su IPS se lo si desidera e così è
questa idea è che abbiamo questa piccola unità
e
se ti sei perso il discorso, lo so
consiglio di vedere il discorso precedente
su modelli di contenitori quindi dai un’occhiata a lui
diapositive online in modo da poter utilizzare questo per
qualsiasi scenario in cui si hanno contenitori
processi che devono lavorare insieme
hanno bisogno di parlare direttamente con il
stessi file per lo stesso sai
localhost socket quel genere di cose
conosci questo esempio qui, lo sai
per esempio, se si stavano per avere un
conosci un’app node.js o un file statico
servendo app e volevi che tirasse
fuori il contenuto reale da qualche parte
altrimenti vivo come stava venendo giù così tu
avere questi contenitori che sono il
le immagini sono statiche ma quando si avviano
loro tirano giù e tipo di bootstrap il
ultimo contenuto quindi questo sarebbe un
esempio di tipo di separazione di quelli
riguarda le preoccupazioni di estrapolare il
dati e servendo i dati così sarei uno
esempio così il modo in cui questi pod parlano
l’un l’altro ogni pod ha logicamente il suo
proprio ha il proprio indirizzo IP all’interno del
cluster e possono parlare direttamente a
l’un l’altro e noi essenzialmente lo sai
nella maggior parte degli ambienti fanno tabelle IP e
firewall del router sai router
regole di inoltro per far sì che tutto ciò accada
ma puoi anche usare la flanella che abbiamo aperto
V switch e se stai utilizzando AWS o
Google cloud the cloud può
aiutarti e renderlo veloce e simile
Ho detto che significa che non c’è bisogno di
preoccuparsi dei numeri di porta in conflitto
tra i tuoi pod così come lo vedi
se lo facciamo e loro possono tutti parlare
l’un l’altro l’abbiamo costruito questo
rete questa rete logica all’interno del
cluster come si ottiene le cose li fanno
disponibile al di fuori del cluster e lo fai
con esporre ed esporre crea a
servizio così in kubernetes quindi il servizio è
una specie di parola sovraccaricata ma a
il servizio di kubernetes è fondamentalmente un carico
equilibratore che è consapevole di esattamente dove
tutti i pod sono per quel servizio e
sa come indirizzare il traffico in modo specifico
a loro
quindi se i pod sono questi pezzi effimeri
loro vanno e vengono i nostri contenitori, noi no
possiamo avere qualcosa di longevo in loro che possiamo
basta riprogrammarli e metterli su
diversi computer che tengono traccia di
il loro IP è una sfida ma il servizio
ha un indirizzo IP statico e una voce DNS
all’interno del cluster e quindi questo è il
mech primario
per tipo di scoperta del servizio tra
cose e kubernetes così sembra
qualcosa del genere tu sei fondamentalmente
avere una definizione del servizio e poi lo è
aggiornato automaticamente con dove
i pezzi sono perché fa parte del
cluster di kubernetes in modo da avere questo
combinazione di endpoint di servizio stabili
e baccelli effimere che vanno e la
il servizio può infatti persino esistere prima
ci sono dei pod collegati ad esso
puoi farti sapere che non lo capirai mai
qualsiasi risposta indietro ma puoi farlo
scoprire il suo indirizzo IP e connettersi a
e così i clienti sono sempre in più
casi che parlano con un endpoint di servizio
piuttosto che i baccelli effettivi direttamente
e cuciamo tutte queste cose
insieme in kubernetes con etichette così
etichette sono coppie di valori semplicemente chiave
puoi metterci tutto per poterlo mettere
li su pod possiamo metterli in servizio
Qualunque parte di Kubernete puoi
mettere un’etichetta su di loro e le etichette sono il
solo il meccanismo di raggruppamento in kubernetes così
fondamentalmente fai una query contro
etichette per fare cose così per esempio se
volevi disegnare una dashboard su come
le cose stavano andando avanti con il tuo fronte
Finisci di avere i tuoi pod puoi andare avanti
e impostare le etichette dire ok questo è un tipo
front-end e faremo una query di selezione
e ottieni tutti i dati per il tipo
front-end della gente e si potrebbe anche
avere un grafico diverso da qualche parte
era come oh tutta la versione di noi due
in realtà vuole mostrare su un grafico e
potrebbero riferirsi agli stessi baccelli o
diversi ma tutta la versione due
le etichette torneranno e mostreranno e questo
è in realtà come sono i servizi
collegato ai baccelli anche quando il
il servizio ha un selettore e quando
quelle etichette corrispondono a quello che sa
su quali baccelli indirizzare effettivamente il traffico
quindi questo tu conosci molto bene gli indirizzi
questa necessità di collegare le cose senza
avendo stretto accoppiamento di una persona
possiede l’ altro lato o cosa hai o
ha bisogno di saperlo prima del tempo e
questo è il modo in cui funzionano i controller di replica
così pure i controller di replica sono
concetto primario in kubernetes ed è
è questo ciclo di controllo
che hai impostato e dagli un modello
per come creare un pod e quanti
i pod dovrebbero essere in esecuzione e sotto il
copre quando ho eseguito questo comando qui
in realtà ha creato sia l’originale
due pod e questo controller di replica
implicitamente quando ho eseguito il comando di esecuzione
e il controller di replica è ciò che
in realtà fa questo lavoro per essere sicuro
ci sono sempre due o sempre quattro pod
correndo per fare il lavoro così in pratica
vivere in un ciclo in cui guardano il
sguardo del mondo reale allo stato desiderato e
fare tutti i cambiamenti che devono apportare
per far sembrare il mondo reale così
questo è un bel disaccoppiamento dei bisogni
lì e questo è principalmente per
processi a lungo termine quindi se hai
cose come i web front-end che hai
server di memorizzazione nella cache sai cose che sono
pensato per essere sempre in esecuzione registro
collezionisti cose del genere e sembra
tipo di qualcosa come questo controlla
e dice okay, sono quanti ne ho davvero
ne ho tre che dovrei avere quattro
fammi iniziare uno e poi siediti
lì e fa questo ciclo logicamente gentile
di sempre quindi questo è ciò che ti dà
meno pagine di notte o almeno se si
scrivi software come faccio io sai
a volte non hai rintracciato
tutti i fallimenti questo tipo di
mantienilo acceso mentre dormi
quindi cosa succede se questo sembrava così ho fatto
questo questo già ma possiamo possiamo
abbiamo praticamente una grande manopola stereo
dove possiamo dire la replica
controller quanti vogliamo avere quando
Devo e dirà oh, ora siamo
dovrebbe avere due e andrà giù
e questo ti dà questo questo diretto
controllo di quanti di questi sono
dovrebbe essere in esecuzione e in linee e
scatole sembra qualcosa del genere
hai il controller vero e proprio
modello aggiungere le etichette effettive sul
pod e in questo caso avremmo un
servizio anche collegato a questo fatto
penso che quello che farò qui sia
Lo pulirò un po ‘e
giocheremo con altre cose divertenti
come questo va e poi quando lo cambio
a quattro si accorge che e aggiunge il
quattro nuovi vasi quindi possiamo usare questo come
un pezzo in scala diritta ma possiamo anche
usarlo per alcuni altri modelli di divertimento così ho
non so se hai sentito di un canarino
modello in cui, come se ne avessi un mucchio
lavoratori e poi si ottiene una nuova versione
della vostra applicazione e vuoi provarlo
Voglio dire che hai provato già a destra
ma si vuole provare in produzione
giusto e quindi vuoi avere un po ‘di piccolo
la percentuale del tuo traffico va al
canarino e vuoi vedere i log
davvero attentamente e vedere come funziona
e poi vuoi andare al rollback se
è successo qualcosa di brutto, quindi puoi usarlo
controller di replica per renderlo molto
facile fare un rollout canarino così abbiamo
lo stesso tipo di configurazione che abbiamo il nostro
la versione primaria è pronta per andare e
quindi si avvia la versione 2 con a
controller di replica se è impostato su 1
e sei a posto
e quindi se si è soddisfatti che poi
puoi lasciare che sia possibile aggiungere
più rimuoverli è molto facile da tirare
che torni indietro e tu se decidi tu
come se tu possa fare ciò che è chiamato a
arrotolando l’ aggiornamento dei trick dove aggiungi
più di questi così e questo è così
cosa utile che abbiamo effettivamente costruito
in entrambi lo strumento front-end e ora
c’è un pezzo di schieramenti integrato
l’API principale in modo da poter dire al
master che vuoi scorrere tra le versioni
e sembra qualcosa del genere e
faremo una demo più coinvolgente qui
quindi in pratica si hanno due manopole
e così tu finisci col presentarti uno e
abbassare l’altra a poco a poco e
alla fine tutto il tuo traffico è in corso
servito dal nuovo pezzo, quindi facciamolo
guarda quello per davvero fantastico
va bene, va bene così abbiamo deciso di andare
visualizzare l’app libro degli ospiti, perché questo
sai cosa dobbiamo fare e così
questa è un’app PHP in PHP, in realtà siamo
usando il mio sequel e alcuni memcache e
fai fare un’intera app qui e io ci vado
vai avanti e inizia l’ esibizione
voi questi file in un momento ma uno
quindi la prima versione è la prima
righe di comando stavo mostrando voi
siamo fondamentalmente interattivi a parlare
il cluster destra mi run-gestito questa immagine
mi fa solo roba ma dentro
produzione che non è proprio quello che tu
vuoi che la configurazione sia archiviata
sicuro da qualche parte, quindi andrò
effettivamente creare alcuni elementi da un
servizio di front-end e lo otterremo e
anche la replica front-end
controller in modo tale che aspetto hanno questi file
quindi questo è un documento Hamel che non conosco
quello visibile lassù che fondamentalmente tu
so che è dispiaciuto , è molto semplice
la parte fondamentale è che questo è il nostro nome
andando ad esporre la porta 80 dalla porta 80 e
stiamo andando al selezionatore, quindi il Cori
stiamo andando a utilizzare stiamo andando a guardare
per tutti i pod etichettati
front-end e questo prossimo nome app demo così
Ho dato queste etichette e impostare che fino
e creare questo servizio che era il
primo comando che corro e quindi abbiamo un nuovo
il servizio qui che si chiama
front-end un po ‘di divertimento in più
ecco ho detto taifa load balancer e
questo prende il via e dice a Cooper Nettie
che vogliamo che questo sia un esterno
al di fuori del servizio di bilanciamento del carico del cluster e
dal momento che sto eseguendo questo sul contenitore
motore in Google Cloud questo in realtà
significa che stiamo andando configurare Google
cloud load balancer che è fondamentalmente
Caricamento a livello di data center di Google
equilibratori che è super divertente così posso essere
sullo stesso bilanciatore del carico che viene eseguito
Gmail e YouTube e in effetti lo capiscono
distribuire il traffico alle mie macchine virtuali e
allora l’altro file che abbiamo eseguito qui è il
controller di replica e così via
contiene quante repliche vogliamo
run del nostro front-end che è qui e il
selettore in modo da sapere quali sono i pod
parte del nostro gruppo è in realtà lo stesso
come il servizio e il modello per
fare un nuovo pod quando arriva il momento
ogni volta che è necessario creare un nuovo pod per
qualunque ragione userà questo
modello per crearlo e il bit chiave
proprio qui stiamo indicando una finestra mobile
immagine nel registro dei contenitori di Google
ed è in questo progetto chiamato il prossimo
demo 42 l’immagine è nominata guestbook PHP
e la versione così: quindi è taggata
finestra mobile saggio v1 e che è questo nome che
usa la porta 80 quindi abbiamo fatto tutto quel bit
e quaggiù possiamo vedere il front-end
il bilanciamento del carico è stato impostato con un IP così
dovremmo essere in grado di colpire questo indirizzo IP
e questa è la parte pericolosa del
cosa se la gente può leggere il piccolo pezzo
laggiù
ciao posso dire anche ciao coperchio se posso
scrivi correttamente e puoi colpire
quello stesso indirizzo IP e metti tag script
lì e tutti i tipi di cose divertenti e
guarda come è andata a finire così
questo e quindi possiamo dire un cubo CTL così
in realtà lascia che io vada avanti
ha questa piccola estensione che lo farà
Aggiorna la pagina ogni secondo, quindi è così
andando iniziare sfarfallio sullo sfondo
e l’aggiornamento come altre persone sono o
aggiungendo cose ed ehi sembra un emoji
funziona e quindi possiamo effettivamente scalare il
controller di replica denominato front-end
e impostare repliche è uguale a 6 per
esempio e possiamo iniziare nuove repliche
farli servire al traffico e e
tutti tra il pubblico e me stesso
chi è seduto qui si ristora
il sito solo City rimane acceso e mantiene
di lavoro siamo in grado di cadere giù per
tre si divertono con tutto l’ affare quindi
è pulito ma non appena arrivi
qualcosa che funziona c’è sempre a
richiesta di funzionalità giusta e questo è gentile
di un sito noioso vogliamo farcela
meglio a destra così ho avuto la richiesta di
rendere il sito migliore e il mio design
le abilità forse mancano ma io ho
una nuova versione del sito che è arrivato
fuori dal mio sistema di integrazione continua
e nella sua spinta nel contenitore
registro e si chiama verde così abbiamo
Ho preso questo ragazzo qui e quindi cosa sto per fare
fare è cercare di ricordare il comando esatto
linea che non lo farò così
faremo un piccolo inganno, quindi lo sono
eseguirò un aggiornamento rolling control a cubetti
il front end del periodo di aggiornamento qui
che è tagliato fuori dallo schermo che sto impostando
a un secondo che non è normale
cosa da fare in produzione quindi l’aggiornamento
periodo è il tempo di attesa tra i passaggi
qui impostato su un secondo e poi lo sono
aggiornando a rotazione questa nuova immagine
chiamato verde e cosa sta succedendo qui
ora sta gestendo i due quadranti per
noi così ho il sito attivo e funzionante
e sto lentamente cambiando il traffico
alla nuova versione dell’app mentre
mentre è in esecuzione e sembra
Ho incasinato la vista lì vediamo
così possiamo vedere il la in corso
controller che ha fatto ha un grande lungo
nome e i nuovi pod hanno questo nome
solo tipo di assicurarsi che abbiano
roba andando lì e abbiamo tutto
tipi di hacking in corso sul sito
fantastico alcune delle cose hanno funzionato
e alcuni di loro no e noi siamo
fondamentalmente semplicemente girando queste manopole
uno su e uno giù mentre andiamo e poi
quando l’ultimo se ne va
dobbiamo per il momento l’ultimo va
via dovremmo vedere la nuova versione
quando abbiamo bisogno di switch effettivi dipende
su di te sai quale è il puzzle
collegato ad esso hey abbiamo ottenuto il nuovo
versione così è sorprendente tutto bene
grazie così la cosa che trovo
Davvero fantastico di questo oltre al mio
incredibili capacità progettuali è così che noi
sai che migriamo il nostro sito live
giusto ma se decidiamo che non ci piace
questo più
possiamo effettivamente migrare indietro usando il
lo stesso identico processo , dal momento che abbiamo
questo file system isolato questi
contenitori sotto le coperte sai
avanti e indietro è in realtà esattamente il
lo stesso processo quindi se decidi dopo
non ti piace sai che non ti piace
che puoi effettivamente rimetterlo indietro
alla versione uno e si sa che possiamo
aggiornamento di rotazione che indietro e non lo farò
ti fanno piacere guardarlo ma possiamo venire
tornando più tardi e spero che voi ragazzi
non distruggerà completamente il mio account
c’è anche solo recentemente aggiunto e
questo è ancora in beta, abbiamo auto
il ridimensionamento e il ridimensionamento automatico sono adesso
in base all’utilizzo della CPU dei pod così
in pratica puoi impostare un target di scala
che dice che sai se troppi troppi
se i baccelli sono oltre il 50%, è necessario
aumentare il numero di pod che sono
in esecuzione nel nostro cluster e quindi cosa facciamo
stiamo effettivamente usando C Advisor I
non so se ti è familiare
che per piacere ottenere tutte le metriche di
i contenitori funzionanti che spingono verso l’alto
attraverso questa app chiamata heap ster che
aggrega tutti questi e poi noi
in realtà sa relativamente vicino
in tempo reale esattamente cosa sta succedendo
tutti i contenitori attraverso il tutto
cluster e quindi possiamo impostare le regole
fondamentalmente quello dice hey se tu lo sai
hai dei baccelli che conosci più di cinquanta
per cento che la nostra regola dice che abbiamo bisogno di più
baccelli e poi invece di me girando il
comporre abbiamo un robot girare il quadrante e
sai che possiamo effettivamente avere il
scala target drive quanti baccelli sono
effettivamente in esecuzione nel nostro cluster in modo che il
attualmente la CPU è quella che è
ci stiamo sicuramente lavorando di più
più opzioni per voi conoscono il reale
soglie per farlo e compreso te
sapere spingere le tue metriche attraverso
hipster e usarlo per guidare l’auto
Gatling così che è loro e tutti i tipi di
altre cose divertenti lì così voi ragazzi avete
probabilmente notato che quasi ogni demo
di contenitori sta usando alcuni come molto
semplice come web server o app stateless
o altre cose come e la maggior parte di queste
anche i demo erano tecnicamente i miei
il seguito è in realtà supportato da qualcosa
quello vive ma ho intenzione di soffiarlo via
ma ma quasi tutti i demo sono
diritto apolide e ho domande
su questo e anche io penso come un
settore stiamo provando a tipo di risoluzione
questo diritto è che sia chiaro che non c’è
questi veramente divertenti sono fantastici
vantaggi a mantenere tutte le Stato
dei tuoi contenitori che puoi trattare
loro come queste cose usa e getta ma
costruisci app per tenere traccia delle cose
giusto così ad un certo punto ci sarà piaciuto
gestisci questi dati e ci interessa davvero
riguardo a ciò che ho detto, penso che sia così
amo sentire qualcuno ha un altro
opinione Penso in un gruppo di tutti
questi contenitori effimeri dobbiamo
mantenere lo stato fuori dal contenitore o
almeno su qualsiasi contenitore in a
minimo indispensabile e probabilmente appena uscito
di tutti i contenitori quindi se questo è il
caso cosa facciamo qui e mi piacerebbe
condividi tre dei modelli che ho
visto finora e alcuni esempi di persone
usando quello e mi piacerebbe sentire se
ti sei imbattuto in tutto ciò che non funziona
rientrare in uno di questi modelli che
sarebbe molto interessante ma prima di noi
arrivare a quel docker ha volumi e
kubernetes ha anche dei volumi e
sono un po ‘ come una specie di superset
delle cose che puoi fare nella finestra mobile così
quando hai questo pod ne ha un po ‘
disco locale disponibile se lo si configura
in questo modo puoi fare cose come a
directory temporanea vuota tu lo sai
solo tu conosci le vite e muori con il
pod in modo da poter avere un graffio
lo spazio che puoi se vuoi puoi
scoppia e metti file sul tuo host
macchine dipende da te quindi da capire
fuori da quale macchina ci si trova
essere programmato su diversi nodi o utilizzare
alcuni degli strumenti in nodi Cooper a
assicurati di essere sempre programmato
lo stesso nodo e poi perdi
flessibilità lì puoi anche usarti
conosci NFS se ne hai
per creare un prodotto veramente affidabile e fs
sistema o è possibile inserire in I scuzzy così
puoi farlo se hai un bel
sistema accogliente o se tu se stai correndo
su un provider cloud che ha un blocco
servizio di archiviazione è possibile utilizzare così noi
avere plugin per EBS e per il nostro Google
cloud block store quindi abbiamo bisogno di noi probabilmente
ho bisogno di un po ‘di spazio, quindi stiamo per venire
è per questo che l’ho colpito qui, così siamo
tornerò da questi ragazzi, quindi penso
le tre grandi opzioni su come conservare
stato in un sistema composto da tutti
questi contenitori effimeri è giusto
lo stai già mettendo da qualche parte
probabilmente un team di database forse
continua a fare quello che stai già facendo
giusto come eseguire il tuo database come te
sapere come farlo ed è sicuro e
connettersi ad esso dall’interno del cluster così
un’opzione è semplicemente in linea
fuori dal cluster si esegue il database
sai come sapete come sì che non siamo
farò comunque il lavoro così solo tu
esegui il database nel modo in cui sei stato
farlo in modo che sia un’opzione un’altra
l’opzione è che tu prendi qualcosa di simile
vuole davvero correre su un solo computer
il tempo e avresti potuto scambiare il
immagazzinare da sotto in modo che
nel momento in cui arriva ovunque
viene su pensa che sia lo stesso
macchina tutto il tempo e così è
dove ha un blocco in cui è installato
il tuo ambiente qualcosa come Ceph o
conosci i blocchi nella tua
il cloud provider è davvero molto utile
perché kubernetes sa come prendere un
blocca l’archivio e collegalo agli host
e spingerlo fino al contenitore
attraverso i baccelli prima che inizi il
pod in modo che tu possa effettivamente e questo è il
così è stato il mio sequel in esecuzione
fondamentalmente impostare un volume che è sempre
disponibile per un pod alla volta e e
fai in modo che tu possa farlo e
sai che ci può essere qualche latenza
cose ma funziona in una grande varietà di
casi ed è un buon modo per adattarsi
sistemi che già esistono e poi il
terza opzione è fare qualcosa che è
è molto consapevole di questo mondo di cose
andare e venire
questo è il cluster nativo, quindi ci sto pensando
cose
come reagisce Cassandra è molto nuovo
ma scarafaggio DB cose di questa natura
che sono già sistemi distribuiti
sono consapevoli del fatto che i nodi
andare e venire in un ambiente kubernetes
i nodi stanno andando e venire
più veloce di quanto sono abituati, quindi c’è
ci possono essere alcune cose extra che vuoi
fare e abbiamo un esempio in corso
su cui stiamo lavorando con stack di dati
nella cartella degli esempi di kubernetes su
come fare un po ‘ di quell’impianto idraulico, ma tu
possibile utilizzare i database che sono a conoscenza del
Infatti sono su più macchine
quindi penso che siano le tue tre opzioni così
fondamentalmente come tenerlo fuori dal
cluster adattarlo al cluster o utilizzare
qualcosa che è consapevole di essere dentro
raggruppa un’altra opzione qui nel genere
dello spazio nativo del cluster è chiamato
Vitesse Non so se voi ragazzi avete
sentito parlare di questo è una fonte aperta
progetto da parte di Google è il sistema
è servito a tutti gli YouTube
traffico di database sul mio sequel dal 2011
e così fa tutto il duro lavoro di
creazione di grafici e impostazione della replica e
cose per il mio sequel e loro hanno
configurazioni di kubernetes incluse con
così che possa essere qualcosa da guardare
dentro c’è un altro tipo di stato quindi se
terremo tutto il
configurazione fuori dal nostro
contenitori giusto come li otteniamo
collegato ai nostri servizi sicuri ai nostri
database alle nostre API abbiamo bisogno di un modo
di ottenere le cose reali lì dentro
e un modo per farlo è l’ambiente
le variabili kubernetes hanno deciso di andare
con qualcosa che pensiamo sia un po ‘
bit più variabili d’ambiente sicure
sono molto introspettivi tutti apposta quindi
abbiamo questo concetto di un segreto chiamato
e fondamentalmente l’amministratore del cluster può
configurare i segreti denominati e il se tu
avere il permesso il pod
modelli quindi i controller di replica
sono le creazioni di pod che dici in sostanza
Voglio mescolare questo segreto chiamato nel mio
file system in questa posizione in modo che io
So che in te conosci lo slash ovunque
è la mia password ogni volta che inizio
e tocca all’ambiente del cluster
conosci l’amministratore del cluster da configurare
quali password ci sono effettivamente
quel posto così questo vive tutto in tempo
non si colpisce mai un disco su nessuno dei
nodi se si spegne la macchina
tutto va via ma questo è un meccanismo
per ottenere quella configurazione di segreto
informazioni in là abbiamo anche
variabili d’ambiente ed etichette e tu
conosci quel tipo di cose che puoi usare
per altre configurazioni, quindi kubernetes era aperto
siamo arrivati a giugno 2014, quindi siamo
avvicinando un anno e mezzo ha colpito
100
quest’anno abbiamo raggiunto uno il mese scorso e
abbiamo una versione ospitata di questo che è
chiamato motore contenitore come parte di un
La piattaforma cloud di Google è già in
utilizzare da diverse piattaforme di servizio
gente quindi la gente di Red Hat si è aperta
in realtà li ho strappati un po ‘
strato di orchestrazione e metti kubernetes
in meno di là sono stati
contributori estremamente attivi al
progetto anche Dias e Stratus e io
penso che ce n’è un altro che sono
dimenticando che stanno usando
kubernetes costruisce un nuovo tipo di utente
amichevole o a volte più adatta a
alcune piattaforme di ambienti e poi
ci sono più distribuzioni quindi se tu
voglio eseguire questo sui propri computer
la prossima tettonica del sistema operativo principale che sentirai dopo
da Asus la gente sicuramente si aggira
per quello su come kubernetes e mais O’s
Montare insieme Sto lavorando verso un 1/2
rilascio quindi volevo solo mostrare velocemente
se così si separa questa impostazione simile
su un cluster dall’utilizzo del cluster I
penso che sia difficile da dire se
ti interessa abbastanza per crearne uno uguale
il tuo ambiente finché non lo hai usato a
un po ‘quindi ti consiglio vivamente di usare
motore contenitore Google motore contenitore
per impostare un cluster con cui giocare
ovunque tu abbia intenzione di eseguirlo a lungo
termine è sicuramente sicuramente il
modo più semplice per ottenere un cluster di e
per semplice intendo che hai premuto questo pulsante tu
dagli un nome e scegli dove vuoi
per eseguirlo, quindi probabilmente lo vogliamo eseguire
in Europa scegli le macchine taglia come
molte di quelle macchine e colpiscono il
pulsante e tre quattro minuti dopo di te
avere un cluster pronto per partire
questa è la mia raccomandazione su come
giocare con Kubernetes ovunque tu pianifichino
sulla gestione di comunità a lungo termine è
completamente open source
per realz per favore se questo è qualcosa
interessante da dare un’occhiata a questo
riempire i problemi se si incontra qualche problema
quando inizi, sto provando a giocare
con esso se hai casi d’uso in cui
non funziona per te per qualsiasi motivo
ci piacerebbe sentir parlare di quella
la ragione per cui Kubernetes è nel posto in cui è
è ora è a causa dell’open
la comunità di origine è cresciuta
è stato fantastico quindi per favore per favore
unisciti a noi e vorrei che tu pensassi
circa come le applicazioni che hai il
cose che stai facendo in questo momento e dove
che tipo di forma in astrazioni che si
conoscere fanno girare su macchine fisiche do
corrono su macchine virtuali è tempo
per un gruppo di contenitori che utilizzano percorsi
o diverse parti dell’app in realtà
essere un adattamento più naturale in diverse parti
ne conosci uno schema molto comune
noi vediamo per Google i clienti del cloud è
mettere parte delle app in App Engine solo
così come HP chiede boom boom del boom
boom boom e quindi un’altra grande parte è
non sarà spento su macchine virtuali
quindi pensa alle tue applicazioni e come
come si adattano e penso davvero che tu abbia
un nuovo tipo di scelta architettonica è una novità
opzione almeno diciamo opzione a
pensa così grazie a tutti molto molto
molto altro discorso
e abbiamo domande eccellenti prima
domande sui controller di replica
in realtà due domande una è una replica
controller come un singolo punto di
fallimento e perché è la replica
controller separato dallo scheduler
o in realtà non è un vero separato
componente Va bene così facciamo il primo
di c’è un controller di replica
singolo punto di errore della replica
il controller è logico è logico
cosa è parte dei kubernetes
cluster è effettivamente implementato in
un singolo processo sul master quindi lì
è un maestro che è un singolo punto di
fallimento che sta implementando il
controller di replica che ti ha detto
conoscere l’ intero back-end per quello è
al CD quindi c’è un forte determinismo
protocollo di consenso dietro a quello e là
sono sicuramente le persone già in esecuzione
più padroni conosci in standby
modalità in modo da poter farti sapere più
processi pronti a fare il lavoro su
ci sono anche diverse macchine fisiche
se qualcosa va storto da quando abbiamo
il tipo di gestione dettagliata
spinto a tutti i nodi se tu
perdere il padrone per un certo periodo di tempo
la configurazione corrente rimane tutto
la rete continua a funzionare il
i servizi rimangono funzionanti se individuali
contenitori muoiono ottengono riavviati il
il sistema sta andando avanti è solo che tu
non posso cambiarlo finché non hai un master
parlare con là così la seconda domanda
era il controller separato dal
scheduler ma presumo che il programma sia
correndo nei maestri sì sì è così
è separato così e molto apposta
perché è collegabile, quindi abbiamo nuovo
controllori ora così per esempio abbiamo a
controller di lavoro che è specificamente
progettato per aiutarti a eseguire carichi di lavoro batch
quindi se vuoi assicurarti che a
migliaia di copie di questo contenitore funzionano
anche se alcuni di loro non riescono a farlo
cura quali macchine sono sul lotto
il responsabile del lavoro è lì per te
quindi il controller di replica che cosa
fa è solo in realtà un processo
questo è solo parlare con i Kubernet
sei così se vuoi fare il d
fase speciale del controller della luna
questo fa più pausa durante il processo
lune in una certa fase o cosa hanno
tu puoi farlo totalmente
utilizzando la stessa API è quella replica
il controller lo fa sì, lo scheduler è
separato e quando richiesto
kubernetes dammi un nuovo pod poi il
scheduler calci e decide dove
mettilo
ed è soprattutto il tipo di diffusione del
allenati adesso ma man mano che otteniamo di più
le metriche collegate attraverso l’ agitazione del mucchio
lavoro su cui stanno lavorando attivamente
questo tipo di tetris multidimensionale
gioco di scoprire dove è il posto migliore
mettere un pod è per il disco di memoria
conosci la CPU tutte le cose dopo
la domanda è legata alla presentazione
stesso il codice sorgente del
applicazione e le chiamate da linea di comando
che non hai fatto una parte delle diapositive come
bene o sono nelle diapositive e io
In effetti così farò un puntatore live
ma anche tipo di aggiungerli anche lì
quindi questo è il repository github di Kubernetes
undicimila stelle che girano senza
alcuni buoni minuti e c’è un esempio
cartella qui l’esempio che ho fatto
è stato l’esempio del libro degli ospiti va bene così
puoi eseguire questo esempio di guestbook
io penso che questo esempio potrebbe
essere leggermente più recente della versione esatta
che ho corso e il fantastico
aggiornamento al design non è qui ok
prossima domanda qualcuno chiede quanto
manodopera quanto tempo è in realtà
necessaria per ottenere davvero a velocità da
zero per avere abbastanza Kubernetes
comprensione per l’esecuzione come impostazione ed esecuzione
una configurazione del computer di successo , quindi quanto
il tempo è necessario per fare un po ‘di tempo
inizia con kubernetes, penso
c’è un due parti di questa domanda io
pensa che la parte più complicata sia
davvero facendo l’ esperienza alla gentilezza
di gestire bene un cluster nella produzione
c’è c’è un sacco di sfide che
sono davvero al di fuori dei Kubernet lì
intorno alle reti e sai mantenere
tutto felice lì per Cooper
Nettie è come se costruisse un
applicazione che sta succedendo per l’esecuzione in
penso che se ne hai speso molti
giorni con i concetti e il lavoro
alcuni degli esempi che potresti essere in a
davvero un buon posto per iniziare a portarti
conosci uno dei tuoi
luoghi in realtà probabilmente all’interno del
il primo giorno sembra decisamente guardare il
concetti diversi le cose che davvero
ho bisogno di aver parlato in questo discorso tu
bisogno di pods avete bisogno di replica
controller e hai bisogno di servizi e
e hai bisogno di un po ‘di processo
hai creato un’immagine docker di
Alyssa non è un porto o qualcosa di te
sapere che fa qualcosa al di fuori del
contenitore se hai quelle cose tu
probabilmente può già andare e
guarda alcuni degli esempi e fai un
config che li esegue o letteralmente solo
eseguire il comando di esecuzione controllo cubo che io
questo ha creato i configs per te
il primissimo comando è e il
diapositive domande a Canarie
quando fai Canarie come fai
certo che l’utente ritorna lo stesso
versione del servizio per la stessa etichetta
del servizio giusto, quindi lo stiamo facendo
dipende dal bilanciamento del carico che sei
usando per entrare nel cluster di Kubernetes
e poi lo stesso kubernetes ne fa un po ‘
alcuni lavorano lì quindi è un po ‘è un
un po ‘complesso non è così se tu
voglio essere sicuro di dire come ho fatto
diciamo come lo facciamo se sei giusto
eseguire una configurazione predefinita sul contenitore
motore su google cloud google cloud
load balancer usiamo l’affinità IP del client
e questo ti porterà ad un nodo specifico
che poi userà anche alcuni
affinità per arrivare allo stesso pod ma
dipende dall’ambiente in cui ti trovi
correre così potrebbe non essere così
se avete bisogno di assicurarsi per la tua app
che hai sempre colpito la versione due e
vuoi farlo potrebbe aver senso
in realtà aggiungi due servizi, quindi aggiungi un
secondo servizio per questo e dargli un
diverso come il nome del sottodominio o cosa
averti e quindi è possibile garantire che
il traffico colpisce ben due
domande di configurazione si è lì
un modo dichiarativo per controllare
controller di complicazione simili a
Aggiornamento CFG casella Oh
l’altra domanda che è tutto il
dipende dalla configurazione è come fa il
informazioni fisse sul numero di
repliche nella configurazione in
I file Yama si riferiscono a D auto-ridimensionamento ma io
pensa solo alle voci per il ridimensionamento automatico
sì tipo della stessa cosa qui così
questa è una versione del dichiarativo
rappresentazione di una replica
controller e non potrò davvero affrontare
l’aspetto di configurazione della scheda di quella domanda
ma questo sta definendo come una replica
controller dovrebbe essere quando è spinto verso l’alto
nel gruppo di Cabrini fino al come
che si riferisce al valore effettivo di for
ad esempio il numero di repliche
soprattutto se hai se sono cambiato
più tardi o stai usando il ridimensionamento automatico
questa versione avresti registrato
da qualche parte e lo spingi fuori quando tu
creare la replica iniziale
controller e quindi nel tempo il sistema
regolerà saprete per abbinare il reale
caricare quello è così se tu se tu
voluto alimentare che di nuovo in qualche modo in
il tuo tipo attuale di configurazioni predefinite
avresti bisogno di aggiungere per tirare questa configurazione
tornare indietro e tipo di ricontrollare
in e se questo è un documento yeah mel
stiamo guardando qui la vera API
parla Jason, puoi fare Q control sputare
fuori il crudo Jason o yeah Mel convertito
versione del documento che ritorna
dal resto dell’API, quindi se vuoi tirare
giù ciò che il server conosce del
stato attuale e farlo uscire come uno di
questi documenti che è possibile effettuare il check-in
puoi farlo dal controllo cubo che è
bene sapere le domande sulla sicurezza
quindi una domanda che ho in realtà è possibile
Limita la visibilità del condiviso
segreti per un singolo contenitore all’interno di a
pentola o è ovvio un intero piatto perché
altrimenti puoi usare come un male
la cosa dell’iniezione è in realtà un file
sisterly quindi stiamo stiamo lavorando per
migliorare la granularità della sicurezza per
certo adesso la sicurezza in
kubernetes è molto gentile a livello di cluster
c’è anche un concetto di spazio di gioco
così come tutte le cose che ho fatto era in questo
spazio dei nomi predefinito che puoi avere diverso
fette dello stesso cluster che sono
nome distanziati tra loro e
hanno i loro servizi e
controller di replica e pod e tutto
quel genere di cose e ce ne sono alcune
roba di sicurezza lì se avete bisogno del
sicurezza molto granulare oggi io
sicuramente consigliamo di dare un’occhiata a
che cosa alcuni di Red Hat Enterprise
la gente sta facendo con sicurezza che hanno
hanno mescolato la sicurezza con la loro
impresa esistente
tu sai cose e e dovrebbe essere di
interesse penso che l’ ultima domanda sia ok
alla fine hai mostrato come girare
il cluster per tale impostazione e il
la domanda è che tutte le istanze hanno avuto il
lo stesso esempio di taglia lo sai ma penso
quello potrebbe essere controllabile che sono tutti
le istanze delle stesse dimensioni quindi sì quando
tu quando lo crei per impostazione predefinita in
fatto a meno che tu non ti faccia da parte tua
tipo di creare le proprie istanze
manualmente e unirli a un cluster
tutti gli script che creano sai
i cluster di kubernetes creeranno
grappoli omogenei quindi hai a
Opzioni di coppia che in realtà si pensa
conosci quasi tutti i casi che è davvero
quello che vuoi ma se hai fisico
macchine che sono già diverse e
hai bisogno di usarli in modo diverso puoi
in realtà li etichetta che puoi etichettare il
nodi reali e puoi creare
vincoli sui documenti di implementazione
che fai per dire che conosci per
esempio ho bisogno di essere su un nodo che ha
una buona GPU e quindi puoi etichettare il
nodi con GPU e quindi potresti
effettivamente etichetti i tuoi modelli di pod
dicendo che sai richiede che la GPU sia
non rispondendo rigorosamente a questa domanda ma
ma fondamentalmente facciamo normalmente omogenea
macchine e aiuta con la programmazione a
molto che succederà se è davvero importante
a te piace decisamente parlare con me
dopo e proveremo a farlo
nel mix sì e la questione è
in relazione a questo hai un esempio
di uno script di distribuzione dichiarativo loro
definire il tipo di quale tipo di macchine
vuoi gestire il tuo cluster su ah sì
quindi abbiamo script per la creazione di cluster
e lì sai che alcuni
sì, probabilmente dovrei chattare con quello
la persona in seguito, come la realtà
cluster impostato è una specie di diverso
cosa per domande
oh no, penso che tu abbia risposto a tutti
altri cool non dimenticare di votare
parlare grazie a tutti molto molto I
pensa anche a domande grazie Brian
è stato un discorso davvero impressionante e
contesto rapido che cosa è questo discorso così a
un livello sarà un kubernetes
panoramica quindi se conosci tutto il
kubernetes cose che probabilmente puoi trovare
un discorso migliore da guardare che ha detto anche io
voglio parlare del tipo di contesto di
dove questo si adatta e tocca a
un po ‘quando hai questo
raccolta di contenitori sparsi
macchine dove metti la tua roba
dove immagazzini i tuoi dati cose come
quindi cominciamo così ciao, sono
Brian Dorsey puoi vedermi su
Internet
Cerco di ottenere il mio nome si trasforma in tutto il mondo
fuori c’è un sacco di Brian Dorsey
il mondo ma cercherò di ottenere il mio
nome in tutti i posti in cui si trova
Khan quindi ho pensato che avremmo fatto un po ‘
scegli la tua avventura personale e noi faremo come
molte persone hanno iniziato un contenitore
se stessi ok stiamo saltando ok non lo farò
mettiti attraverso i contenitori che comprerò a
il nuovo modo racchiude tutta questa roba
la cosa che penso sia davvero rilevante è
questi voglio solo un tocco
contenitori sono questi strati isolati di
le immagini che gestiamo i contenitori
da queste raccolte isolate di
file e questo è davvero un granché
cosa potente sai che siamo tutti
molto eccitato ma una delle cose
Penso che sia interessante è come
cambia i tempi in cui ti imbatti
problemi e quindi in qualche modo questo spinge
un sacco di problemi di integrazione in su
nella tua continua integrazione
il tuo sistema di costruzione e penso che sia così
davvero potente in modo che tu possa tipo
pensandoci pensateci presto vincolanti
piuttosto che legare tardi al tuo
macchine di produzione quindi penso che sia così
interessante quindi i contenitori sono fantastici
siamo tutti dentro
corriamone molte ovunque e
è lì che entra Kubernetes, quindi è così
Penso che siamo a questo punto interessante
dove abbiamo qualcosa di nuovo che possiamo
aggiungi alle nostre decisioni architettoniche
il nostro problem-solving quando hai un
problema nel cercare di lavorare attraverso le cose
quindi abbiamo così abbiamo fisico
computer possiamo andare a prendere un mucchio di
computer e possiamo collegare la rete
cavi e li facciamo possiamo usare virtuale
computer macchine virtuali e l’API
è lì sembra quasi esattamente come il
macchine virtuali che hai dato
io un computer ci mette un disco collegato
queste due reti insieme questo tipo di
cosa
o siamo in grado di saltare tutta la strada per piattaforme
come una roba di servizio e dammi il tuo codice
e prometto di eseguirlo e ridimensionarlo
ma devi scriverlo in un particolare
modo per abbinare si conosce lo stile Heroku o
Stile App Engine o sai qualunque cosa
la piattaforma è il servizio che ti dà e
Sono super eccitato in questo come nel
lo scorso anno o giù di lì ce ne sono molti
opzioni ora per questa questa via di mezzo
di quando vuoi trattare un intero gruppo
di macchine come un computer logico e
vuoi gestire i tuoi contenitori in lotti
delle macchine li trattano come uno ma
vuoi lavorare più vicino al
il software reale che hai quindi è lì
ed è questo che è Kubernetes
uno di questi scheduler del contenitore
orchestratori questi pezzi così è
Greco per timoniere che sto andando a probabilmente
fai questo sbagliato ma penso all’originale
I greci probabilmente sono così nella stanza
qualcosa di più come i kubernetes ma è così
è uscito dalla costa occidentale degli Stati Uniti
Uniti quindi è goober di Nettie dispiace che
gestisce e gestisce i container che è
ispirato da Google che esegue un sacco di
contenitori in produzione e ora quello
è stato un progetto open source per a
è cresciuto in un anno e mezzo
soddisfare i bisogni di un gruppo molto più ampio
che solo tipo di Google, ma è
decisamente ispirato dai modelli che noi
conosci il lavoro su Google puoi eseguirlo
più ambienti cloud diversi
puoi eseguirlo sui tuoi computer
Supporta ovviamente la finestra mobile ma anche
conosci il razzo e sai che l’app vede
roba e quel genere di cose aperte al 100%
fonte open source per i reali se vuoi
sta a github i problemi ci sono
come puoi andare a guardare le persone litigare
il codice
e l’attenzione è rivolta alle applicazioni gestite
non solo macchine quindi questa è la diapositiva
tutto a Google viene eseguito in contenitori
probabilmente c’è un piccolo asterisco lì
da qualche parte ma ma praticamente tutto
che hai mai interagito con Google
saggio sta correndo in un contenitore da qualche parte
nel centro dati
quindi tutte le mappe di ricerca di Gmail compreso if
usi cose da Google cloud
piattaforma così le macchine virtuali sono
anche in realtà in esecuzione in contenitori così
è contenitori tipo di tutto il senso giù
e abbiamo lanciato probabilmente più di questo
ora ma oltre due miliardi di contenitori per
settimana che è stata formulata con cura, abbiamo lanciato
due milioni di contenitori a settimana e così tu
può pensare a Kubernetes come un kit di strumenti per
aiutandoti ad affrontare le cose che corri
in sistemi distribuiti regolarmente così
c’è un sacco di cose che vengono fuori
più e più e più volte come fanno i pezzi
Trovati l’un l’altro come fai il log
costantemente come fai il debug di te
mantieni le cose in esecuzione come pensi
fuori dove le cose dovrebbero essere eseguite
per essere il più efficiente uno dei più grandi
ragioni per fare qualcosa come un cluster
ampio sistema di pianificazione è quello di guidare
efficienza e ridurre i costi e sai
solo una migliore gestione più facile del
cose tutta questa roba e tutti questi
i pezzi sono costruiti in kubernetes e
aiutarti a gestire le tue applicazioni, quindi facciamolo
iniziare con un cluster e questo potrebbe essere
e io voglio rompere questo
perché la maggior parte del discorso che sto per passare
sul tipo di utilizzo di Kubernetes, ma c’è
questo se decidi come se questo
i discorsi ti ispirano come si, vado
giocare con esso arriverà a questa startup
parte e questo può essere impegnativo in modo gentile
di separare l’ottenimento di un cluster
in esecuzione dall’uso
cluster di kubernetes, quindi è necessario ottenere un
cluster in qualche modo è possibile utilizzare il cloud
risorse è possibile utilizzare i propri computer
avrete bisogno di una rete di sovrapposizione per il
networking e vedrete perché in pochi
momenti puoi eseguirlo su qualche lampone
PI’s ci sono alcune grandi demo online di
persone che gestiscono kubernetes su lamponi
Funziona in molti e molti posti e
conosci una specie di grafico abituale e gratuito
hai un master che parla HTTP a riposo
– tu e gli strumenti da riga di comando e il
web UI e poi c’è un processo
in esecuzione su ciascuno dei nodi in modo che il
macchine virtuali o ovunque tu sia
gestendo questo che è il cubelet e it
parla alla finestra mobile o qualunque sia la tua
la tecnologia del contenitore che stai utilizzando e
assicurarsi che tutto è nella
affermare che il cluster vuole che sia
e solo per essere concreto in modo da poter afferrare
le diapositive più tardi
tu essenzialmente esporti conosci un
variabile di ambiente per dire che questo è il
fornitore voglio usare e si può fare
quello che trovo tipo di scomodo curl SSH
pipe to bash dove potresti salvarlo
e guarda il file e decidi di farlo
te stesso
e abbiamo molte ricette in effetti
probabilmente troppe ricette per come impostare
su un cluster e offriamo un hosted
Versione così che parlerò
quindi, in realtà, sembra che usi
questo così ora stiamo commutazione in
il tipo di modalità d’uso quindi se ne hai uno
immagine da qualche parte questo è per esempio il
immagine standard di nginx che si trova sulla finestra mobile
hub è possibile in una riga eseguire due copie
di quell’immagine da qualche parte nel tuo cluster
e nemmeno bisogno di preoccuparsi o sapere dove
quei ragazzi sono
quindi in realtà andiamo a farlo ok
quindi andremo in modalità demo questo è questo
vivi ciao così in alto qui ho lasciato
in realtà copiare questo fuori questo sarà
eccitante hai capito quando hai capito
in demo sei come dovrei avere
fatto così un modo diverso che sono io
in questo momento va bene così ho eseguito quel comando e
immediatamente potremmo sorridere ok bene
va in sospeso e poi in esecuzione
sotto e nella metà inferiore sono
in realtà basta eseguire la riga di comando
strumento per il controllo del cubo delle comunità
conosci il ciclo di osservazione, quindi in realtà sono solo
eseguendolo una volta al secondo tre volte
una volta per mostrare in cima quali sono i baccelli
eseguendo quali controller di replica
e quali servizi e così stiamo andando a
vedere questo più e più volte in tutto il
parlare, ma fondamentalmente in cima abbiamo
contenitori che funzionano così solo io
ha iniziato due contenitori lì e quelli
sono buoni per andare e quindi possiamo possiamo dire
in realtà
volevo avere più di quelli così siamo
ridimensionare questo controller in modo approssimativo
controller da cucina
si chiama mio nginx e vogliamo che io no
sapere per quelli qualcosa del genere così noi
parlato con il maestro dice oh hey
quattro è più di due io in realtà solo
ho due in esecuzione fammi iniziare il nuovo
quelli e alzarsi e pronti ad andare così
questo è un tipo di sensazione molto veloce per
quello che sembra davvero utilizzare questo
ed e questi questi contenitori sono in su
e stanno eseguendo la configurazione di
quello che dovrebbe essere lo stato non v’è
ora nel server in nel cluster e
quindi se succede qualcosa a uno di questi
contenitori e si schiantano otterranno
riavviato anche se dormo e lo è
costantemente e parleremo di questo
di più, ma sta controllando costantemente oggi
Ho chiesto quattro di loro e quanti
sono in realtà lì e simili così questo
è un branco di balene e questo è un baccello di
contenitori Credo di sì
se voi ragazzi siete qui per il precedente
parlare di un pod è una raccolta di contenitori
che siamo strettamente legati siamo noi
credo fermamente che questo è molto
astrazione molto preziosa da aggiungere
il mix di ciò che questo ti dà è il
questa è l’unità di pianificazione in kubernetes
l’ atomo uno di questi ottiene sempre
programmato su una macchina e dal
prospettiva dei contenitori all’interno del
pod tutti gli altri container sono accesi
lo stesso host logico in modo che possano parlare
alla rete di host locale possono fare IPC
possono vedere gli stessi volumi lo stesso
disco tutti gli Yume ma altri pod sul
lo stesso host non può vedere le stesse cose così
questo ti regala qualcosa di veramente bello
proprietà per esempio se un intero gruppo
dei tuoi contenitori sei il tuo pod tu
ascolta sulla porta 80 puoi programmare
più pod sullo stesso host fisico
tutti usano la porta 80 perché ogni pod
ottiene il proprio indirizzo IP nel cluster
quindi ogni pod ha il suo indirizzo IP
i pod possono parlare tra loro direttamente
su IPS se lo si desidera e così è
questa idea è che abbiamo questa piccola unità
e
se ti sei perso il discorso, lo so
consiglio di vedere il discorso precedente
su modelli di contenitori quindi dai un’occhiata a lui
diapositive online in modo da poter utilizzare questo per
qualsiasi scenario in cui si hanno contenitori
processi che devono lavorare insieme
hanno bisogno di parlare direttamente con il
stessi file per lo stesso sai
localhost socket quel genere di cose
conosci questo esempio qui, lo sai
per esempio, se si stavano per avere un
conosci un’app node.js o un file statico
servendo app e volevi che tirasse
fuori il contenuto reale da qualche parte
altrimenti vivo come stava venendo giù così tu
avere questi contenitori che sono il
le immagini sono statiche ma quando si avviano
loro tirano giù e tipo di bootstrap il
ultimo contenuto quindi questo sarebbe un
esempio di tipo di separazione di quelli
riguarda le preoccupazioni di estrapolare il
dati e servendo i dati così sarei uno
esempio così il modo in cui questi pod parlano
l’un l’altro ogni pod ha logicamente il suo
proprio ha il proprio indirizzo IP all’interno del
cluster e possono parlare direttamente a
l’un l’altro e noi essenzialmente lo sai
nella maggior parte degli ambienti fanno tabelle IP e
firewall del router sai router
regole di inoltro per far sì che tutto ciò accada
ma puoi anche usare la flanella che abbiamo aperto
V switch e se stai utilizzando AWS o
Google cloud the cloud può
aiutarti e renderlo veloce e simile
Ho detto che significa che non c’è bisogno di
preoccuparsi dei numeri di porta in conflitto
tra i tuoi pod così come lo vedi
se lo facciamo e loro possono tutti parlare
l’un l’altro l’abbiamo costruito questo
rete questa rete logica all’interno del
cluster come si ottiene le cose li fanno
disponibile al di fuori del cluster e lo fai
con esporre ed esporre crea a
servizio così in kubernetes quindi il servizio è
una specie di parola sovraccaricata ma a
il servizio di kubernetes è fondamentalmente un carico
equilibratore che è consapevole di esattamente dove
tutti i pod sono per quel servizio e
sa come indirizzare il traffico in modo specifico
a loro
quindi se i pod sono questi pezzi effimeri
loro vanno e vengono i nostri contenitori, noi no
possiamo avere qualcosa di longevo in loro che possiamo
basta riprogrammarli e metterli su
diversi computer che tengono traccia di
il loro IP è una sfida ma il servizio
ha un indirizzo IP statico e una voce DNS
all’interno del cluster e quindi questo è il
mech primario
per tipo di scoperta del servizio tra
cose e kubernetes così sembra
qualcosa del genere tu sei fondamentalmente
avere una definizione del servizio e poi lo è
aggiornato automaticamente con dove
i pezzi sono perché fa parte del
cluster di kubernetes in modo da avere questo
combinazione di endpoint di servizio stabili
e baccelli effimere che vanno e la
il servizio può infatti persino esistere prima
ci sono dei pod collegati ad esso
puoi farti sapere che non lo capirai mai
qualsiasi risposta indietro ma puoi farlo
scoprire il suo indirizzo IP e connettersi a
e così i clienti sono sempre in più
casi che parlano con un endpoint di servizio
piuttosto che i baccelli effettivi direttamente
e cuciamo tutte queste cose
insieme in kubernetes con etichette così
etichette sono coppie di valori semplicemente chiave
puoi metterci tutto per poterlo mettere
li su pod possiamo metterli in servizio
Qualunque parte di Kubernete puoi
mettere un’etichetta su di loro e le etichette sono il
solo il meccanismo di raggruppamento in kubernetes così
fondamentalmente fai una query contro
etichette per fare cose così per esempio se
volevi disegnare una dashboard su come
le cose stavano andando avanti con il tuo fronte
Finisci di avere i tuoi pod puoi andare avanti
e impostare le etichette dire ok questo è un tipo
front-end e faremo una query di selezione
e ottieni tutti i dati per il tipo
front-end della gente e si potrebbe anche
avere un grafico diverso da qualche parte
era come oh tutta la versione di noi due
in realtà vuole mostrare su un grafico e
potrebbero riferirsi agli stessi baccelli o
diversi ma tutta la versione due
le etichette torneranno e mostreranno e questo
è in realtà come sono i servizi
collegato ai baccelli anche quando il
il servizio ha un selettore e quando
quelle etichette corrispondono a quello che sa
su quali baccelli indirizzare effettivamente il traffico
quindi questo tu conosci molto bene gli indirizzi
questa necessità di collegare le cose senza
avendo stretto accoppiamento di una persona
possiede l’ altro lato o cosa hai o
ha bisogno di saperlo prima del tempo e
questo è il modo in cui funzionano i controller di replica
così pure i controller di replica sono
concetto primario in kubernetes ed è
è questo ciclo di controllo
che hai impostato e dagli un modello
per come creare un pod e quanti
i pod dovrebbero essere in esecuzione e sotto il
copre quando ho eseguito questo comando qui
in realtà ha creato sia l’originale
due pod e questo controller di replica
implicitamente quando ho eseguito il comando di esecuzione
e il controller di replica è ciò che
in realtà fa questo lavoro per essere sicuro
ci sono sempre due o sempre quattro pod
correndo per fare il lavoro così in pratica
vivere in un ciclo in cui guardano il
sguardo del mondo reale allo stato desiderato e
fare tutti i cambiamenti che devono apportare
per far sembrare il mondo reale così
questo è un bel disaccoppiamento dei bisogni
lì e questo è principalmente per
processi a lungo termine quindi se hai
cose come i web front-end che hai
server di memorizzazione nella cache sai cose che sono
pensato per essere sempre in esecuzione registro
collezionisti cose del genere e sembra
tipo di qualcosa come questo controlla
e dice okay, sono quanti ne ho davvero
ne ho tre che dovrei avere quattro
fammi iniziare uno e poi siediti
lì e fa questo ciclo logicamente gentile
di sempre quindi questo è ciò che ti dà
meno pagine di notte o almeno se si
scrivi software come faccio io sai
a volte non hai rintracciato
tutti i fallimenti questo tipo di
mantienilo acceso mentre dormi
quindi cosa succede se questo sembrava così ho fatto
questo questo già ma possiamo possiamo
abbiamo praticamente una grande manopola stereo
dove possiamo dire la replica
controller quanti vogliamo avere quando
Devo e dirà oh, ora siamo
dovrebbe avere due e andrà giù
e questo ti dà questo questo diretto
controllo di quanti di questi sono
dovrebbe essere in esecuzione e in linee e
scatole sembra qualcosa del genere
hai il controller vero e proprio
modello aggiungere le etichette effettive sul
pod e in questo caso avremmo un
servizio anche collegato a questo fatto
penso che quello che farò qui sia
Lo pulirò un po ‘e
giocheremo con altre cose divertenti
come questo va e poi quando lo cambio
a quattro si accorge che e aggiunge il
quattro nuovi vasi quindi possiamo usare questo come
un pezzo in scala diritta ma possiamo anche
usarlo per alcuni altri modelli di divertimento così ho
non so se hai sentito di un canarino
modello in cui, come se ne avessi un mucchio
lavoratori e poi si ottiene una nuova versione
della vostra applicazione e vuoi provarlo
Voglio dire che hai provato già a destra
ma si vuole provare in produzione
giusto e quindi vuoi avere un po ‘di piccolo
la percentuale del tuo traffico va al
canarino e vuoi vedere i log
davvero attentamente e vedere come funziona
e poi vuoi andare al rollback se
è successo qualcosa di brutto, quindi puoi usarlo
controller di replica per renderlo molto
facile fare un rollout canarino così abbiamo
lo stesso tipo di configurazione che abbiamo il nostro
la versione primaria è pronta per andare e
quindi si avvia la versione 2 con a
controller di replica se è impostato su 1
e sei a posto
e quindi se si è soddisfatti che poi
puoi lasciare che sia possibile aggiungere
più rimuoverli è molto facile da tirare
che torni indietro e tu se decidi tu
come se tu possa fare ciò che è chiamato a
arrotolando l’ aggiornamento dei trick dove aggiungi
più di questi così e questo è così
cosa utile che abbiamo effettivamente costruito
in entrambi lo strumento front-end e ora
c’è un pezzo di schieramenti integrato
l’API principale in modo da poter dire al
master che vuoi scorrere tra le versioni
e sembra qualcosa del genere e
faremo una demo più coinvolgente qui
quindi in pratica si hanno due manopole
e così tu finisci col presentarti uno e
abbassare l’altra a poco a poco e
alla fine tutto il tuo traffico è in corso
servito dal nuovo pezzo, quindi facciamolo
guarda quello per davvero fantastico
va bene, va bene così abbiamo deciso di andare
visualizzare l’app libro degli ospiti, perché questo
sai cosa dobbiamo fare e così
questa è un’app PHP in PHP, in realtà siamo
usando il mio sequel e alcuni memcache e
fai fare un’intera app qui e io ci vado
vai avanti e inizia l’ esibizione
voi questi file in un momento ma uno
quindi la prima versione è la prima
righe di comando stavo mostrando voi
siamo fondamentalmente interattivi a parlare
il cluster destra mi run-gestito questa immagine
mi fa solo roba ma dentro
produzione che non è proprio quello che tu
vuoi che la configurazione sia archiviata
sicuro da qualche parte, quindi andrò
effettivamente creare alcuni elementi da un
servizio di front-end e lo otterremo e
anche la replica front-end
controller in modo tale che aspetto hanno questi file
quindi questo è un documento Hamel che non conosco
quello visibile lassù che fondamentalmente tu
so che è dispiaciuto , è molto semplice
la parte fondamentale è che questo è il nostro nome
andando ad esporre la porta 80 dalla porta 80 e
stiamo andando al selezionatore, quindi il Cori
stiamo andando a utilizzare stiamo andando a guardare
per tutti i pod etichettati
front-end e questo prossimo nome app demo così
Ho dato queste etichette e impostare che fino
e creare questo servizio che era il
primo comando che corro e quindi abbiamo un nuovo
il servizio qui che si chiama
front-end un po ‘di divertimento in più
ecco ho detto taifa load balancer e
questo prende il via e dice a Cooper Nettie
che vogliamo che questo sia un esterno
al di fuori del servizio di bilanciamento del carico del cluster e
dal momento che sto eseguendo questo sul contenitore
motore in Google Cloud questo in realtà
significa che stiamo andando configurare Google
cloud load balancer che è fondamentalmente
Caricamento a livello di data center di Google
equilibratori che è super divertente così posso essere
sullo stesso bilanciatore del carico che viene eseguito
Gmail e YouTube e in effetti lo capiscono
distribuire il traffico alle mie macchine virtuali e
allora l’altro file che abbiamo eseguito qui è il
controller di replica e così via
contiene quante repliche vogliamo
run del nostro front-end che è qui e il
selettore in modo da sapere quali sono i pod
parte del nostro gruppo è in realtà lo stesso
come il servizio e il modello per
fare un nuovo pod quando arriva il momento
ogni volta che è necessario creare un nuovo pod per
qualunque ragione userà questo
modello per crearlo e il bit chiave
proprio qui stiamo indicando una finestra mobile
immagine nel registro dei contenitori di Google
ed è in questo progetto chiamato il prossimo
demo 42 l’immagine è nominata guestbook PHP
e la versione così: quindi è taggata
finestra mobile saggio v1 e che è questo nome che
usa la porta 80 quindi abbiamo fatto tutto quel bit
e quaggiù possiamo vedere il front-end
il bilanciamento del carico è stato impostato con un IP così
dovremmo essere in grado di colpire questo indirizzo IP
e questa è la parte pericolosa del
cosa se la gente può leggere il piccolo pezzo
laggiù
ciao posso dire anche ciao coperchio se posso
scrivi correttamente e puoi colpire
quello stesso indirizzo IP e metti tag script
lì e tutti i tipi di cose divertenti e
guarda come è andata a finire così
questo e quindi possiamo dire un cubo CTL così
in realtà lascia che io vada avanti
ha questa piccola estensione che lo farà
Aggiorna la pagina ogni secondo, quindi è così
andando iniziare sfarfallio sullo sfondo
e l’aggiornamento come altre persone sono o
aggiungendo cose ed ehi sembra un emoji
funziona e quindi possiamo effettivamente scalare il
controller di replica denominato front-end
e impostare repliche è uguale a 6 per
esempio e possiamo iniziare nuove repliche
farli servire al traffico e e
tutti tra il pubblico e me stesso
chi è seduto qui si ristora
il sito solo City rimane acceso e mantiene
di lavoro siamo in grado di cadere giù per
tre si divertono con tutto l’ affare quindi
è pulito ma non appena arrivi
qualcosa che funziona c’è sempre a
richiesta di funzionalità giusta e questo è gentile
di un sito noioso vogliamo farcela
meglio a destra così ho avuto la richiesta di
rendere il sito migliore e il mio design
le abilità forse mancano ma io ho
una nuova versione del sito che è arrivato
fuori dal mio sistema di integrazione continua
e nella sua spinta nel contenitore
registro e si chiama verde così abbiamo
Ho preso questo ragazzo qui e quindi cosa sto per fare
fare è cercare di ricordare il comando esatto
linea che non lo farò così
faremo un piccolo inganno, quindi lo sono
eseguirò un aggiornamento rolling control a cubetti
il front end del periodo di aggiornamento qui
che è tagliato fuori dallo schermo che sto impostando
a un secondo che non è normale
cosa da fare in produzione quindi l’aggiornamento
periodo è il tempo di attesa tra i passaggi
qui impostato su un secondo e poi lo sono
aggiornando a rotazione questa nuova immagine
chiamato verde e cosa sta succedendo qui
ora sta gestendo i due quadranti per
noi così ho il sito attivo e funzionante
e sto lentamente cambiando il traffico
alla nuova versione dell’app mentre
mentre è in esecuzione e sembra
Ho incasinato la vista lì vediamo
così possiamo vedere il la in corso
controller che ha fatto ha un grande lungo
nome e i nuovi pod hanno questo nome
solo tipo di assicurarsi che abbiano
roba andando lì e abbiamo tutto
tipi di hacking in corso sul sito
fantastico alcune delle cose hanno funzionato
e alcuni di loro no e noi siamo
fondamentalmente semplicemente girando queste manopole
uno su e uno giù mentre andiamo e poi
quando l’ultimo se ne va
dobbiamo per il momento l’ultimo va
via dovremmo vedere la nuova versione
quando abbiamo bisogno di switch effettivi dipende
su di te sai quale è il puzzle
collegato ad esso hey abbiamo ottenuto il nuovo
versione così è sorprendente tutto bene
grazie così la cosa che trovo
Davvero fantastico di questo oltre al mio
incredibili capacità progettuali è così che noi
sai che migriamo il nostro sito live
giusto ma se decidiamo che non ci piace
questo più
possiamo effettivamente migrare indietro usando il
lo stesso identico processo , dal momento che abbiamo
questo file system isolato questi
contenitori sotto le coperte sai
avanti e indietro è in realtà esattamente il
lo stesso processo quindi se decidi dopo
non ti piace sai che non ti piace
che puoi effettivamente rimetterlo indietro
alla versione uno e si sa che possiamo
aggiornamento di rotazione che indietro e non lo farò
ti fanno piacere guardarlo ma possiamo venire
tornando più tardi e spero che voi ragazzi
non distruggerà completamente il mio account
c’è anche solo recentemente aggiunto e
questo è ancora in beta, abbiamo auto
il ridimensionamento e il ridimensionamento automatico sono adesso
in base all’utilizzo della CPU dei pod così
in pratica puoi impostare un target di scala
che dice che sai se troppi troppi
se i baccelli sono oltre il 50%, è necessario
aumentare il numero di pod che sono
in esecuzione nel nostro cluster e quindi cosa facciamo
stiamo effettivamente usando C Advisor I
non so se ti è familiare
che per piacere ottenere tutte le metriche di
i contenitori funzionanti che spingono verso l’alto
attraverso questa app chiamata heap ster che
aggrega tutti questi e poi noi
in realtà sa relativamente vicino
in tempo reale esattamente cosa sta succedendo
tutti i contenitori attraverso il tutto
cluster e quindi possiamo impostare le regole
fondamentalmente quello dice hey se tu lo sai
hai dei baccelli che conosci più di cinquanta
per cento che la nostra regola dice che abbiamo bisogno di più
baccelli e poi invece di me girando il
comporre abbiamo un robot girare il quadrante e
sai che possiamo effettivamente avere il
scala target drive quanti baccelli sono
effettivamente in esecuzione nel nostro cluster in modo che il
attualmente la CPU è quella che è
ci stiamo sicuramente lavorando di più
più opzioni per voi conoscono il reale
soglie per farlo e compreso te
sapere spingere le tue metriche attraverso
hipster e usarlo per guidare l’auto
Gatling così che è loro e tutti i tipi di
altre cose divertenti lì così voi ragazzi avete
probabilmente notato che quasi ogni demo
di contenitori sta usando alcuni come molto
semplice come web server o app stateless
o altre cose come e la maggior parte di queste
anche i demo erano tecnicamente i miei
il seguito è in realtà supportato da qualcosa
quello vive ma ho intenzione di soffiarlo via
ma ma quasi tutti i demo sono
diritto apolide e ho domande
su questo e anche io penso come un
settore stiamo provando a tipo di risoluzione
questo diritto è che sia chiaro che non c’è
questi veramente divertenti sono fantastici
vantaggi a mantenere tutte le Stato
dei tuoi contenitori che puoi trattare
loro come queste cose usa e getta ma
costruisci app per tenere traccia delle cose
giusto così ad un certo punto ci sarà piaciuto
gestisci questi dati e ci interessa davvero
riguardo a ciò che ho detto, penso che sia così
amo sentire qualcuno ha un altro
opinione Penso in un gruppo di tutti
questi contenitori effimeri dobbiamo
mantenere lo stato fuori dal contenitore o
almeno su qualsiasi contenitore in a
minimo indispensabile e probabilmente appena uscito
di tutti i contenitori quindi se questo è il
caso cosa facciamo qui e mi piacerebbe
condividi tre dei modelli che ho
visto finora e alcuni esempi di persone
usando quello e mi piacerebbe sentire se
ti sei imbattuto in tutto ciò che non funziona
rientrare in uno di questi modelli che
sarebbe molto interessante ma prima di noi
arrivare a quel docker ha volumi e
kubernetes ha anche dei volumi e
sono un po ‘ come una specie di superset
delle cose che puoi fare nella finestra mobile così
quando hai questo pod ne ha un po ‘
disco locale disponibile se lo si configura
in questo modo puoi fare cose come a
directory temporanea vuota tu lo sai
solo tu conosci le vite e muori con il
pod in modo da poter avere un graffio
lo spazio che puoi se vuoi puoi
scoppia e metti file sul tuo host
macchine dipende da te quindi da capire
fuori da quale macchina ci si trova
essere programmato su diversi nodi o utilizzare
alcuni degli strumenti in nodi Cooper a
assicurati di essere sempre programmato
lo stesso nodo e poi perdi
flessibilità lì puoi anche usarti
conosci NFS se ne hai
per creare un prodotto veramente affidabile e fs
sistema o è possibile inserire in I scuzzy così
puoi farlo se hai un bel
sistema accogliente o se tu se stai correndo
su un provider cloud che ha un blocco
servizio di archiviazione è possibile utilizzare così noi
avere plugin per EBS e per il nostro Google
cloud block store quindi abbiamo bisogno di noi probabilmente
ho bisogno di un po ‘di spazio, quindi stiamo per venire
è per questo che l’ho colpito qui, così siamo
tornerò da questi ragazzi, quindi penso
le tre grandi opzioni su come conservare
stato in un sistema composto da tutti
questi contenitori effimeri è giusto
lo stai già mettendo da qualche parte
probabilmente un team di database forse
continua a fare quello che stai già facendo
giusto come eseguire il tuo database come te
sapere come farlo ed è sicuro e
connettersi ad esso dall’interno del cluster così
un’opzione è semplicemente in linea
fuori dal cluster si esegue il database
sai come sapete come sì che non siamo
farò comunque il lavoro così solo tu
esegui il database nel modo in cui sei stato
farlo in modo che sia un’opzione un’altra
l’opzione è che tu prendi qualcosa di simile
vuole davvero correre su un solo computer
il tempo e avresti potuto scambiare il
immagazzinare da sotto in modo che
nel momento in cui arriva ovunque
viene su pensa che sia lo stesso
macchina tutto il tempo e così è
dove ha un blocco in cui è installato
il tuo ambiente qualcosa come Ceph o
conosci i blocchi nella tua
il cloud provider è davvero molto utile
perché kubernetes sa come prendere un
blocca l’archivio e collegalo agli host
e spingerlo fino al contenitore
attraverso i baccelli prima che inizi il
pod in modo che tu possa effettivamente e questo è il
così è stato il mio sequel in esecuzione
fondamentalmente impostare un volume che è sempre
disponibile per un pod alla volta e e
fai in modo che tu possa farlo e
sai che ci può essere qualche latenza
cose ma funziona in una grande varietà di
casi ed è un buon modo per adattarsi
sistemi che già esistono e poi il
terza opzione è fare qualcosa che è
è molto consapevole di questo mondo di cose
andare e venire
questo è il cluster nativo, quindi ci sto pensando
cose
come reagisce Cassandra è molto nuovo
ma scarafaggio DB cose di questa natura
che sono già sistemi distribuiti
sono consapevoli del fatto che i nodi
andare e venire in un ambiente kubernetes
i nodi stanno andando e venire
più veloce di quanto sono abituati, quindi c’è
ci possono essere alcune cose extra che vuoi
fare e abbiamo un esempio in corso
su cui stiamo lavorando con stack di dati
nella cartella degli esempi di kubernetes su
come fare un po ‘ di quell’impianto idraulico, ma tu
possibile utilizzare i database che sono a conoscenza del
Infatti sono su più macchine
quindi penso che siano le tue tre opzioni così
fondamentalmente come tenerlo fuori dal
cluster adattarlo al cluster o utilizzare
qualcosa che è consapevole di essere dentro
raggruppa un’altra opzione qui nel genere
dello spazio nativo del cluster è chiamato
Vitesse Non so se voi ragazzi avete
sentito parlare di questo è una fonte aperta
progetto da parte di Google è il sistema
è servito a tutti gli YouTube
traffico di database sul mio sequel dal 2011
e così fa tutto il duro lavoro di
creazione di grafici e impostazione della replica e
cose per il mio sequel e loro hanno
configurazioni di kubernetes incluse con
così che possa essere qualcosa da guardare
dentro c’è un altro tipo di stato quindi se
terremo tutto il
configurazione fuori dal nostro
contenitori giusto come li otteniamo
collegato ai nostri servizi sicuri ai nostri
database alle nostre API abbiamo bisogno di un modo
di ottenere le cose reali lì dentro
e un modo per farlo è l’ambiente
le variabili kubernetes hanno deciso di andare
con qualcosa che pensiamo sia un po ‘
bit più variabili d’ambiente sicure
sono molto introspettivi tutti apposta quindi
abbiamo questo concetto di un segreto chiamato
e fondamentalmente l’amministratore del cluster può
configurare i segreti denominati e il se tu
avere il permesso il pod
modelli quindi i controller di replica
sono le creazioni di pod che dici in sostanza
Voglio mescolare questo segreto chiamato nel mio
file system in questa posizione in modo che io
So che in te conosci lo slash ovunque
è la mia password ogni volta che inizio
e tocca all’ambiente del cluster
conosci l’amministratore del cluster da configurare
quali password ci sono effettivamente
quel posto così questo vive tutto in tempo
non si colpisce mai un disco su nessuno dei
nodi se si spegne la macchina
tutto va via ma questo è un meccanismo
per ottenere quella configurazione di segreto
informazioni in là abbiamo anche
variabili d’ambiente ed etichette e tu
conosci quel tipo di cose che puoi usare
per altre configurazioni, quindi kubernetes era aperto
siamo arrivati a giugno 2014, quindi siamo
avvicinando un anno e mezzo ha colpito
100
quest’anno abbiamo raggiunto uno il mese scorso e
abbiamo una versione ospitata di questo che è
chiamato motore contenitore come parte di un
La piattaforma cloud di Google è già in
utilizzare da diverse piattaforme di servizio
gente quindi la gente di Red Hat si è aperta
in realtà li ho strappati un po ‘
strato di orchestrazione e metti kubernetes
in meno di là sono stati
contributori estremamente attivi al
progetto anche Dias e Stratus e io
penso che ce n’è un altro che sono
dimenticando che stanno usando
kubernetes costruisce un nuovo tipo di utente
amichevole o a volte più adatta a
alcune piattaforme di ambienti e poi
ci sono più distribuzioni quindi se tu
voglio eseguire questo sui propri computer
la prossima tettonica del sistema operativo principale che sentirai dopo
da Asus la gente sicuramente si aggira
per quello su come kubernetes e mais O’s
Montare insieme Sto lavorando verso un 1/2
rilascio quindi volevo solo mostrare velocemente
se così si separa questa impostazione simile
su un cluster dall’utilizzo del cluster I
penso che sia difficile da dire se
ti interessa abbastanza per crearne uno uguale
il tuo ambiente finché non lo hai usato a
un po ‘quindi ti consiglio vivamente di usare
motore contenitore Google motore contenitore
per impostare un cluster con cui giocare
ovunque tu abbia intenzione di eseguirlo a lungo
termine è sicuramente sicuramente il
modo più semplice per ottenere un cluster di e
per semplice intendo che hai premuto questo pulsante tu
dagli un nome e scegli dove vuoi
per eseguirlo, quindi probabilmente lo vogliamo eseguire
in Europa scegli le macchine taglia come
molte di quelle macchine e colpiscono il
pulsante e tre quattro minuti dopo di te
avere un cluster pronto per partire
questa è la mia raccomandazione su come
giocare con Kubernetes ovunque tu pianifichino
sulla gestione di comunità a lungo termine è
completamente open source
per realz per favore se questo è qualcosa
interessante da dare un’occhiata a questo
riempire i problemi se si incontra qualche problema
quando inizi, sto provando a giocare
con esso se hai casi d’uso in cui
non funziona per te per qualsiasi motivo
ci piacerebbe sentir parlare di quella
la ragione per cui Kubernetes è nel posto in cui è
è ora è a causa dell’open
la comunità di origine è cresciuta
è stato fantastico quindi per favore per favore
unisciti a noi e vorrei che tu pensassi
circa come le applicazioni che hai il
cose che stai facendo in questo momento e dove
che tipo di forma in astrazioni che si
conoscere fanno girare su macchine fisiche do
corrono su macchine virtuali è tempo
per un gruppo di contenitori che utilizzano percorsi
o diverse parti dell’app in realtà
essere un adattamento più naturale in diverse parti
ne conosci uno schema molto comune
noi vediamo per Google i clienti del cloud è
mettere parte delle app in App Engine solo
così come HP chiede boom boom del boom
boom boom e quindi un’altra grande parte è
non sarà spento su macchine virtuali
quindi pensa alle tue applicazioni e come
come si adattano e penso davvero che tu abbia
un nuovo tipo di scelta architettonica è una novità
opzione almeno diciamo opzione a
pensa così grazie a tutti molto molto
molto altro discorso
e abbiamo domande eccellenti prima
domande sui controller di replica
in realtà due domande una è una replica
controller come un singolo punto di
fallimento e perché è la replica
controller separato dallo scheduler
o in realtà non è un vero separato
componente Va bene così facciamo il primo
di c’è un controller di replica
singolo punto di errore della replica
il controller è logico è logico
cosa è parte dei kubernetes
cluster è effettivamente implementato in
un singolo processo sul master quindi lì
è un maestro che è un singolo punto di
fallimento che sta implementando il
controller di replica che ti ha detto
conoscere l’ intero back-end per quello è
al CD quindi c’è un forte determinismo
protocollo di consenso dietro a quello e là
sono sicuramente le persone già in esecuzione
più padroni conosci in standby
modalità in modo da poter farti sapere più
processi pronti a fare il lavoro su
ci sono anche diverse macchine fisiche
se qualcosa va storto da quando abbiamo
il tipo di gestione dettagliata
spinto a tutti i nodi se tu
perdere il padrone per un certo periodo di tempo
la configurazione corrente rimane tutto
la rete continua a funzionare il
i servizi rimangono funzionanti se individuali
contenitori muoiono ottengono riavviati il
il sistema sta andando avanti è solo che tu
non posso cambiarlo finché non hai un master
parlare con là così la seconda domanda
era il controller separato dal
scheduler ma presumo che il programma sia
correndo nei maestri sì sì è così
è separato così e molto apposta
perché è collegabile, quindi abbiamo nuovo
controllori ora così per esempio abbiamo a
controller di lavoro che è specificamente
progettato per aiutarti a eseguire carichi di lavoro batch
quindi se vuoi assicurarti che a
migliaia di copie di questo contenitore funzionano
anche se alcuni di loro non riescono a farlo
cura quali macchine sono sul lotto
il responsabile del lavoro è lì per te
quindi il controller di replica che cosa
fa è solo in realtà un processo
questo è solo parlare con i Kubernet
sei così se vuoi fare il d
fase speciale del controller della luna
questo fa più pausa durante il processo
lune in una certa fase o cosa hanno
tu puoi farlo totalmente
utilizzando la stessa API è quella replica
il controller lo fa sì, lo scheduler è
separato e quando richiesto
kubernetes dammi un nuovo pod poi il
scheduler calci e decide dove
mettilo
ed è soprattutto il tipo di diffusione del
allenati adesso ma man mano che otteniamo di più
le metriche collegate attraverso l’ agitazione del mucchio
lavoro su cui stanno lavorando attivamente
questo tipo di tetris multidimensionale
gioco di scoprire dove è il posto migliore
mettere un pod è per il disco di memoria
conosci la CPU tutte le cose dopo
la domanda è legata alla presentazione
stesso il codice sorgente del
applicazione e le chiamate da linea di comando
che non hai fatto una parte delle diapositive come
bene o sono nelle diapositive e io
In effetti così farò un puntatore live
ma anche tipo di aggiungerli anche lì
quindi questo è il repository github di Kubernetes
undicimila stelle che girano senza
alcuni buoni minuti e c’è un esempio
cartella qui l’esempio che ho fatto
è stato l’esempio del libro degli ospiti va bene così
puoi eseguire questo esempio di guestbook
io penso che questo esempio potrebbe
essere leggermente più recente della versione esatta
che ho corso e il fantastico
aggiornamento al design non è qui ok
prossima domanda qualcuno chiede quanto
manodopera quanto tempo è in realtà
necessaria per ottenere davvero a velocità da
zero per avere abbastanza Kubernetes
comprensione per l’esecuzione come impostazione ed esecuzione
una configurazione del computer di successo , quindi quanto
il tempo è necessario per fare un po ‘di tempo
inizia con kubernetes, penso
c’è un due parti di questa domanda io
pensa che la parte più complicata sia
davvero facendo l’ esperienza alla gentilezza
di gestire bene un cluster nella produzione
c’è c’è un sacco di sfide che
sono davvero al di fuori dei Kubernet lì
intorno alle reti e sai mantenere
tutto felice lì per Cooper
Nettie è come se costruisse un
applicazione che sta succedendo per l’esecuzione in
penso che se ne hai speso molti
giorni con i concetti e il lavoro
alcuni degli esempi che potresti essere in a
davvero un buon posto per iniziare a portarti
conosci uno dei tuoi
luoghi in realtà probabilmente all’interno del
il primo giorno sembra decisamente guardare il
concetti diversi le cose che davvero
ho bisogno di aver parlato in questo discorso tu
bisogno di pods avete bisogno di replica
controller e hai bisogno di servizi e
e hai bisogno di un po ‘di processo
hai creato un’immagine docker di
Alyssa non è un porto o qualcosa di te
sapere che fa qualcosa al di fuori del
contenitore se hai quelle cose tu
probabilmente può già andare e
guarda alcuni degli esempi e fai un
config che li esegue o letteralmente solo
eseguire il comando di esecuzione controllo cubo che io
questo ha creato i configs per te
il primissimo comando è e il
diapositive domande a Canarie
quando fai Canarie come fai
certo che l’utente ritorna lo stesso
versione del servizio per la stessa etichetta
del servizio giusto, quindi lo stiamo facendo
dipende dal bilanciamento del carico che sei
usando per entrare nel cluster di Kubernetes
e poi lo stesso kubernetes ne fa un po ‘
alcuni lavorano lì quindi è un po ‘è un
un po ‘complesso non è così se tu
voglio essere sicuro di dire come ho fatto
diciamo come lo facciamo se sei giusto
eseguire una configurazione predefinita sul contenitore
motore su google cloud google cloud
load balancer usiamo l’affinità IP del client
e questo ti porterà ad un nodo specifico
che poi userà anche alcuni
affinità per arrivare allo stesso pod ma
dipende dall’ambiente in cui ti trovi
correre così potrebbe non essere così
se avete bisogno di assicurarsi per la tua app
che hai sempre colpito la versione due e
vuoi farlo potrebbe aver senso
in realtà aggiungi due servizi, quindi aggiungi un
secondo servizio per questo e dargli un
diverso come il nome del sottodominio o cosa
averti e quindi è possibile garantire che
il traffico colpisce ben due
domande di configurazione si è lì
un modo dichiarativo per controllare
controller di complicazione simili a
Aggiornamento CFG casella Oh
l’altra domanda che è tutto il
dipende dalla configurazione è come fa il
informazioni fisse sul numero di
repliche nella configurazione in
I file Yama si riferiscono a D auto-ridimensionamento ma io
pensa solo alle voci per il ridimensionamento automatico
sì tipo della stessa cosa qui così
questa è una versione del dichiarativo
rappresentazione di una replica
controller e non potrò davvero affrontare
l’aspetto di configurazione della scheda di quella domanda
ma questo sta definendo come una replica
controller dovrebbe essere quando è spinto verso l’alto
nel gruppo di Cabrini fino al come
che si riferisce al valore effettivo di for
ad esempio il numero di repliche
soprattutto se hai se sono cambiato
più tardi o stai usando il ridimensionamento automatico
questa versione avresti registrato
da qualche parte e lo spingi fuori quando tu
creare la replica iniziale
controller e quindi nel tempo il sistema
regolerà saprete per abbinare il reale
caricare quello è così se tu se tu
voluto alimentare che di nuovo in qualche modo in
il tuo tipo attuale di configurazioni predefinite
avresti bisogno di aggiungere per tirare questa configurazione
tornare indietro e tipo di ricontrollare
in e se questo è un documento yeah mel
stiamo guardando qui la vera API
parla Jason, puoi fare Q control sputare
fuori il crudo Jason o yeah Mel convertito
versione del documento che ritorna
dal resto dell’API, quindi se vuoi tirare
giù ciò che il server conosce del
stato attuale e farlo uscire come uno di
questi documenti che è possibile effettuare il check-in
puoi farlo dal controllo cubo che è
bene sapere le domande sulla sicurezza
quindi una domanda che ho in realtà è possibile
Limita la visibilità del condiviso
segreti per un singolo contenitore all’interno di a
pentola o è ovvio un intero piatto perché
altrimenti puoi usare come un male
la cosa dell’iniezione è in realtà un file
sisterly quindi stiamo stiamo lavorando per
migliorare la granularità della sicurezza per
certo adesso la sicurezza in
kubernetes è molto gentile a livello di cluster
c’è anche un concetto di spazio di gioco
così come tutte le cose che ho fatto era in questo
spazio dei nomi predefinito che puoi avere diverso
fette dello stesso cluster che sono
nome distanziati tra loro e
hanno i loro servizi e
controller di replica e pod e tutto
quel genere di cose e ce ne sono alcune
roba di sicurezza lì se avete bisogno del
sicurezza molto granulare oggi io
sicuramente consigliamo di dare un’occhiata a
che cosa alcuni di Red Hat Enterprise
la gente sta facendo con sicurezza che hanno
hanno mescolato la sicurezza con la loro
impresa esistente
tu sai cose e e dovrebbe essere di
interesse penso che l’ ultima domanda sia ok
alla fine hai mostrato come girare
il cluster per tale impostazione e il
la domanda è che tutte le istanze hanno avuto il
lo stesso esempio di taglia lo sai ma penso
quello potrebbe essere controllabile che sono tutti
le istanze delle stesse dimensioni quindi sì quando
tu quando lo crei per impostazione predefinita in
fatto a meno che tu non ti faccia da parte tua
tipo di creare le proprie istanze
manualmente e unirli a un cluster
tutti gli script che creano sai
i cluster di kubernetes creeranno
grappoli omogenei quindi hai a
Opzioni di coppia che in realtà si pensa
conosci quasi tutti i casi che è davvero
quello che vuoi ma se hai fisico
macchine che sono già diverse e
hai bisogno di usarli in modo diverso puoi
in realtà li etichetta che puoi etichettare il
nodi reali e puoi creare
vincoli sui documenti di implementazione
che fai per dire che conosci per
esempio ho bisogno di essere su un nodo che ha
una buona GPU e quindi puoi etichettare il
nodi con GPU e quindi potresti
effettivamente etichetti i tuoi modelli di pod
dicendo che sai richiede che la GPU sia
non rispondendo rigorosamente a questa domanda ma
ma fondamentalmente facciamo normalmente omogenea
macchine e aiuta con la programmazione a
molto che succederà se è davvero importante
a te piace decisamente parlare con me
dopo e proveremo a farlo
nel mix sì e la questione è
in relazione a questo hai un esempio
di uno script di distribuzione dichiarativo loro
definire il tipo di quale tipo di macchine
vuoi gestire il tuo cluster su ah sì
quindi abbiamo script per la creazione di cluster
e lì sai che alcuni
sì, probabilmente dovrei chattare con quello
la persona in seguito, come la realtà
cluster impostato è una specie di diverso
cosa per domande
oh no, penso che tu abbia risposto a tutti
altri cool non dimenticare di votare
parlare grazie a tutti molto molto I
pensa anche a domande grazie Brian
è stato un discorso davvero impressionante e
Please follow and like us: