Press "Enter" to skip to content

GOTO 2016 • A Practical Guide to Container Scheduling • Mandy Waite


grazie mai il programma 820 passato
la mente non mi permetta di ottenere più tempo o meno
il tempo giusto si separa , va bene il plug-in make
Assicurarsi sulla diapositiva destra stai facendo
oggi
Potresti aver comprato il Weber con me
nessuno porta marina ovunque vada
piogge, ma oggi l’ultima due giorni è passato
incredibile per quelli che queste volte vedo che sono
un po ‘preoccupato a primavera, siamo gentili
di Miss Spring siamo andati dritti
estate e mi piace la primavera Mi piace la primavera a
molto oh ci andiamo bene assicurati il ​​mio
clicker funziona con il mio telefono, assicurati che il mio
il telefono non si spegne, nessuno mi trova
più
Io non faccio più telefonate che tengo
dire alla gente che non faccio telefonate
e continuano a trovare il movimento giusto
va bene
ciao a tutti quelli che stanno facendo contengono il
programma in una guida pratica quindi sono
andando essere parlando per lo più su
comunità Io non sarò parlando
su sciame docker e cose del genere
Penso che dovrei fare in realtà
tu
Sono un po ‘preoccupato di ciò che il
il momento è ora perché non ne ho idea
Finisci così che ogni corsa si blocca molto
rapidamente questo sono io a cui puoi farmi piacere
Tech ragazza su Twitter e come molti di voi
usando Google+ dillo a tutti la scorsa notte
no, è così facile che è ancora molto bello
ha più di centoquaranta personaggi
che è molto bello, quindi puoi anche
trova il mio handle di Twitter e ogni singolo
dimensione destra in basso lì e lungo
con il go a Stoccolma e sostenere il
l’ evento è fantastico è davvero
incredibile stanno facendo questi eventi
ovunque in Europa e parliamo
su Cuba è colpito dritto in là I
parlava di Borg il nostro ammasso
cosa di tour scheduler che abbiamo in
Google e confronta Balkin kubernetes
insieme non lo farò oggi
ci sono discorsi che lo stanno facendo
online e c’è anche un ragazzo chiamato
John Wilkes parla di Borg è uno di quelli
dei ragazzi che costruiscono il nostro
infrastruttura e Borg è Athena
alla fine prende tutto il lavoro che
i nostri ingegneri del software lo fanno e lo eseguono
i nostri cluster i nostri grandi data center e
posti fantastici è una sorta di tentativo di
fare quel tipo di potere a disposizione
tutti non solo una scala di Google, ma a
dieci macchine su scala molto piccola cinque
macchine non hai bisogno di avere Google
Scout per fare questa nazione coop in definitiva
è una strana parola quanti di voi possono
dì kubernetes se hai bisogno di lezioni, lo farò
essere al di fuori sarò un insegnante come
pronunciare kubernetes Coburn otto è
è una parola giapponese francese che sto usando
Anche giapponese, ma è davvero greco
tu intendi il timoniere che non entrerà
ma alla fine funzionerà
e gestire i contenitori e va bene
perché alla fine probabilmente abbiamo un
molti contenitori adesso perché
probabilmente lo hai scoperto tutti
contenitori quanti di voi non hanno
scoperto i contenitori conosci la tua mano
va bene, vedi che finisci con un sacco
di contenitori e hai bisogno di qualcosa
in definitiva per gestirli per te e
questo è ciò che fa Kubernetes e io
menzionato prima Bolg la cosa che noi
hanno internamente e Kubernetes è
in definitiva
informato e ispirato da un Borg che
cosa che abbiamo internamente e uno di
l’esperienza che abbiamo costruito
quella cosa negli ultimi dodici anni o giù di lì
esso supporta più nuvole
funziona su AWS altrettanto bene
è sulla piattaforma cloud di Google, quindi non c’è
no lock-in qui non c’è niente da fare
con Google questo è un progetto di comunità
ed è per questo che non ho Google
logo ovunque acero sul primo lato
Non sono sicuro
supporta ambienti di metallo nudo come
bene anche tu puoi eseguirlo su Prem tu
può eseguire il nativo Sì, è possibile la mia
Google Cloud puoi eseguirlo su digitale
oceano ovunque tu voglia
supporta anche più contenitori
runtimes per qualche valore di più noi
avere un momento di ordine di coppa abbiamo il razzo
e docker e ora abbiamo un open
formato contenitore in modo efficace probabilmente
avere più formati di contenitori che possiamo
eseguire alla fine su accumulatori sotto
cento open source ed è scritto in go
doe è estremamente popolare per questo tipo
di applicazione e, infine, di andare
sempre per le applicazioni gestite e non
preoccuparsi delle macchine anche se
le tue operazioni non dovresti
preoccuparsi troppo delle macchine
le persone al giorno d’oggi faranno una domanda
sul fatto che tu sia sviluppatori o
le operazioni la gente dice sì un po ‘
su così tutto in Google viene eseguito
raccoglie tutte le cose che usi
tutti i servizi con cui interagisci
Google esegue i contenitori in modo efficace
i contenitori erano un sottoprodotto di cosa
dovevamo farlo e alla fine lavoriamo
con Linux per creare gruppi C e
namespace che è il potere delle cose
in definitiva docker e altri contenitori
formati gestiamo i nostri mapreduces e i nostri
lavori batch in contenitori e anche i nostri
Macchine virtuali della piattaforma cloud di Google
corri efficacemente in contenitori così sei
su un container sulla piattaforma cloud di Google
macchina virtuale sei sul contenitore
e una VM su un container che lanciamo su 2
miliardi di container a settimana ma andiamo
Non pensare troppo a quello che una
il contenitore è non preoccupiamoci così
molto è un processo è un processo
trasportare tutte queste dipendenze
intorno ad esso e ha una catena alta e ha
un ecosistema ma alla fine quando tu
gira un contenitore su cui giri
processo e la maggior parte possiamo fare più di uno
processo ma alla fine ti interessa
una cosa in un contenitore, quindi se pensi
circa 2 miliardi di processi sono stati due
miliardi di container tra due miliardi
processi e non è così grande
allungare per arrivare a farlo ancora così così
lo scopri alla fine, l’abbiamo fatto
tutto questo lavoro questo è sostituibile il mio
diapositive dei contenitori che uso a
spiegazione di quali contenitori erano 10
12 scivoli e ti sostituisco
questa una diapositiva che sono i contenitori
fantastico quindi corriamo molti di loro e
questa è una conclusione naturale per la maggior parte
persone da raggiungere quando si tratta di
lo sviluppo di applicazioni oggi contenitori
sono bravi, vogliamo eseguirli dove siamo noi
eseguirli come li eseguiamo come facciamo noi
gestiscili come facciamo i loro aggiornamenti
come potremmo collegarli insieme
e questo è il genere di cose che
alla fine i kubernetes si riempiono di
Google fa è iniziare con un cluster
il cluster potrebbe essere un laptop così tu
potrebbe correre usando il fornitore vagabondo te
può far ruotare Kubernetes sul tuo laptop
utilizzando in ultima analisi VirtualBox come il tuo
il fornitore di macchine virtuali ora penso
dovresti essere anche mio
probabilmente non ho mai provato che puoi
usa anche l’ alta disponibilità multi-nodo
cluster su Chrome o nel cloud
potrebbero essere ospitati o autogestiti noi
avere una versione gestita di kubernetes ma
potresti gestire te stesso che potrebbe
essere on-premise potrebbe essere sul
nuvola che saresti in esecuzione su bare metal o
macchine virtuali ma è più o meno
ogni sistema operativo anche così è
codice sempre esattamente si perde la parola
giusto così l’abbiamo implementato quando
qualcuno è Raspberry Pi Kuster e così via
licenziato senza fiducia Sto eseguendo kubernetes
probabilmente non lo farai entrare
produzione ora e alla fine se tu
vuoi saperne di più su come adattarsi
per i tuoi bisogni come cluster c’è a
matrice una matrice di cluster lì al
in basso un link e avrai le diapositive
alla fine la configurazione di un cluster è
abbastanza semplice
Ho fatto un aggiornamento questo che non usiamo
questo tipo di script bash abbassa a
script di bash e soldi subito dopo
tirandolo verso il basso più nessuno lo fa
più così che è un po ‘un retaggio così
tirerai giù la pallina di catrame e la catrame
e infine eseguire l’ installer
secondo al tuo fornitore di kubernetes
qualcosa come GCE o AWS o vagabondo o
sistema operativo principale a seconda di ciò che viene eseguito ora
se non abbiamo un modo immediato
di installarlo sulla vostra piattaforma
ci sono un sacco di ricette e questo succede
torna alla matrice sull’altra pagina noi
hanno o ci sono varie distro rosse
cappello rosso caldo atomico OS OS tettonico
moranto Maria Morales Morano e vari
altri e sì così questa ricetta è e tu
può anche usare una versione ospitata come
motore del contenitore di google e questo è quello che
Kubernetes sembra che alla fine abbiamo
un mucchio di nodi di macchine che eravamo soliti fare
chiamali minion di nuovo punta alle cose
schiavi e servi è un po ‘no
così bello ora sono chiamati nodi e
ogni nodo nel cluster esegue questa cosa
chiamato un distico e il Kubler ha il
credenziali che deve essere in grado di
connettersi al cluster e diventare un
membro del cluster e così quando questi
le macchine escono trovano il padrone noi
avere un unico master a cui si connettono
il maestro dell’API e diventano
parte del cluster e dello scheduler
che è anche parte del padrone
slide probabilmente è un po ‘un po’
aggiornamento e questo è sbagliato non lo farò
cambia che usiamo xcd per la configurazione
gestione, ma non è basata su Ralph
pacchi o spazio in modo che sia un errore
le diapositive è una specie di cosa fa Borg
quindi abbiamo anche dashboard e abbiamo
controller abbiamo anche un contenitore
registro anche perché ci importa
su come gestire i contenitori cose come
docker o un razzo quindi ci interessa
dove si trovano quelle immagini e questo
registro del contenitore potrebbe essere l’ hub accom it
potrebbe essere un registro che hai creato per
te stesso che è abbastanza facile da impostare
loro up o potrebbe essere anche un Google
piattaforma cloud se usi Google
motore del contenitore e in ultima analisi cosa
succede è che spingiamo un’immagine verso il
registro del contenitore forniamo a
configurazione spinta che verso il KH
padroneggiare lo scheduler arriva lungo gli sguardi
allo stato del sistema di cosa si tratta
attualmente guarda allo stato di ciò che
dovrebbe essere come secondo il nostro persistente
archiviazione e dice va bene c’è
diverso Correzione che e così sarà
rendere lo stato attuale lo stesso del
stato desiderato , quindi abbiamo questa nozione di
stato desiderato e quindi lo schedulatore
whoop le linee tornare indietro lo scheduler
deciderà dove verrà eseguito quel lavoro
quelle risorse funzioneranno e lo faranno
parla con una delle macchine
e la macchina verserà sopra il
binario l’immagine e poi eseguirlo
contenitore su quella macchina e il
gli scheduler funzionano è ciò che stiamo per fare
parlerò di oggi e in qualche modo
le linee sono rimaste bloccate là dietro così
questo è fondamentalmente come funziona Kubernetes
ma andiamo in risorse qualcuno
quella comunità fornisce così il primo
è l’ Aksum di programmazione che non facciamo
utilizzare i contenitori direttamente per pianificare il lavoro
su Kubernetes usiamo una cosa chiamata a
pod e pod possono finalmente funzionare
più contenitori è un po ‘di a
convenienza ma se la pensi come
un host logico se si crea una macchina
e tu esegui più processi di
processi su quella macchina perché loro
bisogno di lavorare insieme ne hanno alcuni
tipo di sinergia e ha senso
metterli in un baccello così efficacemente
quello che farai è prenderlo
macchina che potrebbe essere virtuale o
logico e lo prenderai dentro
un formato e convertirlo in un pod in
vieni a correre sul cluster e proprio come a
macchina ha anche il proprio indirizzo IP
quindi possiamo eseguire più di questi pod
su un nodo ma ognuno di essi avrà il suo
proprio indirizzo IP che non è NAT ‘aggiungere così
possiamo parlarci direttamente dove è IP
e tutti i contenitori che corrono dentro
il pod ha uno spazio dei nomi condiviso così il
l’idea dello spazio dei nomi delle porte è la stessa
per più contenitori in esecuzione all’interno
il baccello e si può parlare di parlare
l’un l’altro da un porto o possono parlare
a vicenda dal nostro IP vede questo loro
avere uno spazio dei nomi dell’oculare condiviso IPC
namespace e quindi contenitori in esecuzione
in un baccello assomigliano e pensano che loro
sono in esecuzione su una singola macchina così
in effetti stiamo creando questi
macchine e le stiamo pianificando
il nostro cluster è davvero calmo
potente e abbiamo anche volumi il
nozione di volumi questo esempio mostra due
contenitori uno di loro è molto semplice
applicazione nodejs che serve traffico
esternamente ci sono altri meccanismi noi
può usare per esporre quel che esternamente
vedremo tra poco e abbiamo anche un idiota
sincronizzatore e questo lavoro nel mondo
è sincronizzare con il repository git così
ogni volta che si spinge cambia il tuo repository git
per vedere bene il sincronizzatore vedi le modifiche
abbattili e conservali sul
volume e ora possiamo servirlo
tali aggiornamenti per gli utenti che hanno detto tipo di
spingere per implementare il meccanismo ma di nuovo
sono solo due esempi di contenitori
questo è ciò che chiamiamo modello di sidecar
dove uno dove c’è una sinergia
tra i contenitori ci sono anche
altri modelli e spesso puoi
Esegui solo un contenitore in un pod che è
perfettamente bene non c’è overhead e
abbiamo detto che i pod possono parlare tra loro
dai nostri indirizzi IP direttamente e questo è
il modo in cui funziona abbiamo un sottostante
rete overlay per Google cloud
piattaforma che è il nostro routing avanzato per
AWS è tabelle di rotte che possiamo usare calico o
flanella o tessere o aprire V switch o
fornitore di cloud o open contrail e
altri ce ne sono anche uno di Cisco Cisco
penso ci sia probabilmente un po ‘di
manca c’è qualcuno che sta rappresentando
quelle società mi scuso ma si
quindi è abbastanza facile da configurare , ma ancora una volta
se abbiamo più pod su un nodo e
sono tutti di esporre lo stesso palo che
sta bene avevano il loro porto
spazio dei nomi in modo efficace così se tu hai
più pod che espongono la porta 8080 su
stesso nodo va bene
che funzioneranno questi sono fondamentali
requisiti per cui dovevamo averlo
Kubernetes a lavorare abbiamo avuto anche il
la nozione di etichette etichette è il singolo
meccanismo di raggruppamento dei kuberneti che possiamo
etichetta praticamente tutto include
nativi e quindi possiamo costruire strumenti per
leggere quelle etichette un’etichetta è un valore chiave
coppia non ha alcuna semantica
significa nativi di tsukuba ma probabilmente
ha un significato semantico per te come il raw
è uguale a qualcosa di uguale al tipo
qualcosa il colore è uguale a qualcosa
qualcosa che ha significato semantico
tu che ti permetterò di raggrupparli
artefatti queste risorse all’interno
Kubernetes qui li vediamo applicare a
pod abbiamo pod con più etichette
le risorse possono avere più etichette e
stiamo costruendo dashboard e strumenti
userà quelle etichette e il modo in cui usiamo
etichette è cablaggio chiamato un selettore e
quindi in pratica diciamo semplicemente all’API
me tutto o tutti i pod con
questa etichetta e forniamo ciò che abbiamo appena
etichetta basata sul selettore e abbiamo
servizi con includono nativi che anche
usa quel meccanismo per raggruppare i pod e
crescere
altre cose pure il servizio è il
modo in cui accediamo a questi pod che vengono eseguiti
in contenitori espongono un pall
alla fine non c’è natin come noi
menzionato ma alla fine abbiamo libero
baccelli identici o uguali
applicazione nodejs ng engine X
applicazione ma tutti identici di noi
è necessario in qualche modo instradare il traffico
loro abbiamo bisogno di comunicare con esso
comunque anche se c’è un solo pod e
per fare ciò mettiamo un servizio di fronte a
esso
quindi il servizio costruisce in modo efficace
gruppi di un numero di cialde da un po ‘
molti e il servizio fornisce un Oriente
stabile indirizzo IP virtuale e anche un DNS
voce in modo i clienti possono accedere coloro che
pod in esecuzione da quell’endpoint virtuale
che forniamo lì e il traffico
entrare dai clienti sarà basso
bilanciato tra più pod ed è
attualmente eseguito in modo casuale
round-robin quindi questo è il servizio questo
può essere usato per scoprire servizi
internamente in modo da poter collegare le cose
insieme internamente o potrebbe anche
alla fine esporre esternamente un endpoint
così anche noi abbiamo la nozione di carico
endpoint equilibrato e noi abbiamo una nuvola
fornitore come la piattaforma cloud di Google
dove AWS possiamo effettivamente esporre il
servizio su un endpoint esterno al
resto del mondo in modo da avere più
diversi tipi di servizi che abbiamo anche
la nozione di controller di replica
ma ora stanno per essere soppiantati
molto da set di repliche sono gli stessi
stiamo solo cercando di scappare da cosa
sono per lo più gli stessi che stiamo provando
allontanarsi dall’uso di controller nel
i nomi di queste cose ci sono tutto
ha iniziato ad essere un controller e gentile
di aver confuso così ora abbiamo deciso di
continua a vedere tutti cambiando loro
nome così ora sono chiamati set di repliche
ma sono fondamentalmente uguali a
repliche repliche controller se
li conosci e non lo farai
vedere molti cambiamenti hanno un nuovo
semantica delle etichette generalizzate, quindi piuttosto
di avere solo l’ uguaglianza per etichettarti
può avere disuguaglianza e puoi anche farlo
imposta così come un valore in alcuni set di
valori così possiamo fare un po ‘di etichette
diversamente con i set di repliche
ma fondamentalmente sono uguali e a
il set di repliche è in definitiva responsabile
per essere sicuri di aver desiderato
Stati per una data implementazione di pod noi
fornire un modello pod che contiene
i contenitori contengono etichette e simili
per creare i pod diciamo quanti siamo noi
voglio in questo caso vogliamo e bene
uno su due nella mano sinistra uno contro uno
e la mano giusta e si passa a quella
come una configurazione nativi tsukuba e
diciamo, fallo in modo così efficace, così diciamo noi
vogliono un numero X e vogliamo che questo
modello sarà il controller di replica
svegliati e guarda per vedere se lì
sono tutti i pod che corrispondono a quelle etichette
La città ha in questo caso a cui importa
la versione etichettata è uguale a v1 e così sarà
guarda per vederli esistere se non lo fanno
farà una chiamata API e chiederà l’API a
creali per questo e lo farà
monitorare continuamente per essere sicuri
c’è sempre il numero giusto in esecuzione
okay, se hai chiesto ai due loro lo faranno
essere sempre in due ed è abbastanza
semplice possiamo avere più
le repliche sono molte e diverse
set di repliche che gestiscono diversi pod
potrebbero anche essere solo versioni diverse
del tuo pod e abbiamo alcuni scenari
in arrivo vi mostreremo le implementazioni
sono molto nuovi, abbiamo la capacità di a
ruolo nell’aggiornamento a quei baccelli così una volta noi
cambia ciò che è datato nel contenitore dell’immagine
immagine che può essere utile a rotolare che fuori come un
aggiornare un aggiornamento continuo per il nostro servizio
il nostro servizio di produzione e il nostro modo di
usato per farlo era una cosa chiamata a
aggiornamento continuo e sarebbe fondamentalmente
crea un nuovo controller di replica in
quei giorni che creerebbero uno nuovo
baccello prendi un vecchio piatto e creane un altro
nuovi pod come un vecchio pod e
alla fine arriva a uno stato in cui tutto
dei baccelli sono in sostituzione e può
rimuovere il vecchio controller di replica
ma è stato tutto fatto dal lato client
in modo da poter controllare C in qualsiasi momento
e tu verrai lasciato in uno sconosciuto
dichiari che potresti finirlo in alcuni
punto dopo ma era abbastanza
imprevedibile e soggetto a problemi così
l’oggetto di distribuzione è qualcosa di nuovo
introducendo 1.1 che ora è in beta in
1.2 ma è anche il default come noi
fidatevi così tanto e in modo efficace
il nostro ruolo negli aggiornamenti per noi
dal lato server quindi in pratica
creare la distribuzione di demo in breve tempo
creiamo il dispiegamento che spingiamo fuori
creerà i set di repliche per noi
e se vogliamo aggiornare possiamo solo
modificare quella configurazione usando il
riga di comando
molto molto semplice è molto potente e
quindi distribuirà gli aggiornamenti al
i pod e non devi preoccuparti
più non sta accadendo sul
lato client
quindi questo è il ridimensionamento delle distribuzioni
Semplicemente possiamo solo cambiare il
numero possiamo istruire una replica
controller o un set di repliche di replica
per avere più pentole in questo caso, diciamo
uno che tatuaggi ne creerà un altro
uno o chiederà ad un altro di essere
creato se diciamo di volerlo, lo faremo
andare avanti e istruire l’API per creare
altri due e il tuo codice cosa
controllare continuamente per assicurarsi che sia
sempre quattro, quindi il ridimensionamento è molto molto
semplice e in fondo qui noi
avere un servizio a cui importa
le etichette con tipo sono uguali a Fe e tutte
il traffico che arriva a questo servizio
verrà instradato attraverso spazi vuoti in basso
tutti questi pod vanno bene aggiornamenti a rotazione
sono fatti così ora, quindi abbiamo questo
oggetto di distribuzione abbiamo una replica
controller di nuovo sta gestendo due pod
abbiamo un servizio quaggiù che sono
nominando così questi due pod qui
gestito da questo controller e questo
la distribuzione sta gestendo l’intera faccenda
e quando aggiorniamo la distribuzione forse
cambiando l’immagine cosa accadrà
è che andremo a creare un nuovo set di repliche
e poi creeremmo qualcosa di più
per ridimensionare a una scala la vecchia in basso
e poi ridimensionato uno nuovo fino al nuovo
numero di pod è in definitiva che abbiamo
fatto un aggiornamento continuo ora così abbiamo
aggiornato tutti i nostri pod a una nuova immagine
e siamo rimasti con questa cosa nella disperazione
la replica impostata qui non va via
perché fondamentalmente li creiamo
serie di repliche basate su un hash del
modello che usiamo per la creazione di pod
quindi abbiamo cancellato quel modello ci dà un
numero e lo aggiungiamo al nome con
un set di repliche in questo caso tutto ciò che abbiamo
fatto sta scala verso il basso a zero e se noi
riutilizzare sempre quel modello allo stesso modo
modello possiamo riutilizzare quel set di repliche
ma al momento si siede lì
con zero pod
canarino è molto semplice quindi a volte tu
desidera eseguire un aggiornamento parziale
aggiorna solo per testarlo per fare test a / b
in modo efficace in questo caso ne abbiamo due
controller di replica ne abbiamo uno
reversione è uguale a v1 pod e uno con
una versione equivale al pod v2 e al
servizio è aggregante tutti e tre di
quelli e, ma non il traffico in equilibrio
attraverso tutti e tre il 33% del nostro traffico
andrà a questo pod e il 66% andrà a
questi due pod e quindi siamo effettivamente
Canarie possiamo avere un punto su 10
fare una percentuale ancora più piccola ma
alla fine possiamo vedere i risultati venire
torna per quella nuova versione se ci piace
possiamo quindi implementare un aggiornamento di distribuzione
per aggiornarlo completamente o possiamo rotolare
così è come facciamo Canarie e
abbiamo detto tutti di alterare il ridimensionamento che sono
non andando davvero a coprire alter scaling
si basa su parametri di rendimento
utilizzo e possiamo scalare i cluster
basato su quello così quelle varie scale
i pod basati su questo sono lavori molto semplici
abbiamo anche la possibilità di correre corto
in esecuzione di lavori batch di posti di lavoro in modo efficace così
questi correranno fino al completamento e lo sono
varie regole è possibile impostare per loro in modo
i baccelli non devono più essere
a lungo andare c’erano modi per fare
non sono di vecchia data, ma ora noi
hai un lavoro ufficiale così puoi
alla fine dico che voglio farlo
completamento lo spandi a Kubernetes
correrà e finirà e anche noi
avere allineato questi controlli di prontezza della somma
la gente chiede come sappiamo se il
baccelli stanno facendo funzionare i baccelli vivi dove noi
avere la possibilità di creare live con
un po ‘di prontezza controlla sia il processo
livello e anche a livello di app, ma io sono
non entrerò nei dettagli di loro ma
vedrai le diapositive più tardi così puoi
ottenere accesso a questo e anche l’ abilità
baccelli con grazia terminati, se lo siamo
facendo eventi di downscale con ridimensionamento
verso il basso, dobbiamo essere in grado di chiudere
giù il pod con grazia, così gliene diamo un
30-seconda finestra di opportunità per
inviando un segnale e quindi il pod
può fare la sua pulizia in futuro
speriamo che saremo in grado di fare qualcosa
di prosciugamento saremo in grado di rendere zoppo
anatre che possono essere tolti dal
attuale sistema di gestione pod dal
punto di vista dei controller di replica
e possiamo bloccare il traffico
da passare attraverso esso in modo posso finire
elaborare le sue richieste
e una volta fatto possiamo rimuoverlo
al momento non ce l’ho, ma probabilmente lo faremo
ne ho bisogno in futuro e anche noi
Supporta ora cluster multizona, quindi se
hai la piattaforma cloud di Google e via
AWS hai notato che la nozione di
zone zone di disponibilità in AWS ora tu
può avere parti del cluster attraverso
più zone quindi se ad esempio San
Francisco o la Bay Area furono tirati
nell’Oceano Pacifico per qualche motivo
e si perde una zona sarete ancora essere
bene perché l’Europa sarebbe ancora in piedi
e correndo non vogliamo che ciò accada
subito, quindi vado alla prossima settimana o
questa settimana dico anche che non è necessario
accadere così sì quindi è davvero un bene per
disponibilità e che è disponibile in GA
ora incriminato 1.2 e semplicemente fantastico
dalla programmazione molto rapidamente volevo
faccio la mia demo qualcuno sa quanto tempo ho
ottenuto dieci minuti va bene, sì va bene io sono
solo andando a passare attraverso lo scheduler
okay quindi programmando fondamentalmente quando noi
programma le cose a cui inviamo alcuni oggetti
il server API e questo programmatore lo faranno
cercare nuovi oggetti sono stati memorizzati in
la configurazione e pianificherà
loro si prenderanno una decisione definitiva
deciderà dove andrà
sta andando a decidere quale nodo
la freccia dovrebbe essere apparsa in seguito
ma finirebbe la programmazione su un nodo
che corrisponde alle sue politiche di pianificazione
le politiche di pianificazione possono essere controllate
e ce ne andremo tra poco, ma è così
deve prendere quella decisione su quale nodo
senza uno scheduler non può accadere nulla
davvero così possiamo inviare st. accumulatori
e non saprai cosa farne
ma non ha uno schedulatore ma potresti farlo
manualmente potresti dire che voglio correre
su questo specifico nodo e tu fornisci
il nome del nodo quando lo si invia
in pratica esegui questo pod esegui questo servizio
eseguire questo pod in modo efficace su questo nodo
questo è il vecchio modo di farlo e
questo è il modo meccanico per farlo
dove devi identificare una macchina se
hai un grande senso di dati potrebbe essere un
macchina in Iraq una macchina singola
macchina in Iraq in un cluster e decidere
su quale si desidera eseguirlo e
non è molto bello, ecco perché noi
avere uno schedulatore abbiamo lo schedulatore
e prendi tutte queste decisioni per noi
kubernetes comprende le risorse in
termini di CPU e in termini di memoria
e possiamo richiedere una CPU di livello 2 e
memoria per i nostri pod in modo che possiamo chiedere
due core CPU o CPU due e mezzo
core e 10 gigabyte di RAM per un pod
che sappiamo che è quello che sta per
utilizzare e quindi Kuby X può fondamentalmente
programma basato sulla risorsa
disponibilità su quei nodi perché tu
avere una certa quantità di core disponibili
nel tuo cluster ne hai una certa
quantità di memoria disponibile nel tuo
l’eccesso di cluster e di cooping può quindi
prendere una decisione su dove questo può andare
perché si adatterà laggiù che ho visto
questi due core dove va dove
dove ho due core disponibili e
anche se si può anche impostare il limite così
se si va sopra il limite che possiamo allora
dimmi, mi dispiace che tu abbia finito
usando troppa memoria possiamo darti un calcio
è così che gestiamo la memoria perché
la memoria non può essere compressa
non possiamo l’allocazione di memoria delle foto che possiamo
allocazione di CPU foto possiamo usare CPU
quote nel kernel di Linux per dire che siamo
andando a controllare la quantità di CPU che hai
accesso utilizzando le quote ma la memoria noi
non posso farlo
quindi la CPU è comprimibile può essere combattuta
sulla memoria non può essere così se lo usi anche tu
molto CPU sarai solo irto di te
non sarà in grado di utilizzare troppa CPU che hai
chiesto così tanto che stai solo andando
ottenere molto se chiedete troppo
la memoria ti verrà cacciata perché
stai cercando di fare qualcosa per noi
non posso permettere che tu possa compromettere gli altri
processi in esecuzione sì e, infine, a
richiesta e un limite sono due cose che noi
possiamo specificare quando lo stiamo chiedendo
per memoria e CPU per un pod in esecuzione a
la richiesta è fondamentalmente quanto pensi
avrai bisogno di questo e potrebbe
basarsi su prove empiriche probabilmente
sarà basato su prove empiriche di questo
è quello che pensi che avrai bisogno
essere in grado di eseguire questo e così
efficacemente il minimo di cui hai bisogno e se
tu dici di volere questa grande risorsa noi
lo farò solo su un posto dove
c’è così tanta risorsa disponibile
okay, quindi se abbiamo bisogno di causare noi siamo
in esecuzione su una macchina che ha su core
disponibile e non lo impegneremo troppo
quindi se si aveva un sacco di baccelli che chiedono a
CPU core e hai otto core CPU
puoi correre avanti un denaro
non puoi più mio, non lo faremo mai
over commettere una richiesta così abbiamo efficacemente
garantendo che tu avessi quella cavalcatura
disponibile qui ma hai avuto anche il
nozione di limite e limite è il
quantità massima di una risorsa che puoi
richiesta e i report da pianificare
alla fine tutto ciò che ci interessa è che il
l’ammontare della richiesta è disponibile su a
nodo singolo ma se hai mai colpito il
limite non sono in definitiva, stiamo andando
per darti il ​​calcio d’inizio o lo seguiremo
si se si richiede a zero allora possiamo
programmare sempre il tuo pod, ma non si può
ottenere qualcosa che potrebbe non essere in realtà
in grado di fare qualsiasi cosa, ma tu avrai no
CPU condivide ma se si richiede zero e
vai in un nodo che è vuoto lo farà
corri , sai fare qualsiasi cosa voglia
avere tutto ciò di cui ha bisogno, ma lo sarà
compresso fino al punto in cui
potrebbe non avere nulla alla fine e tu
non avrà tutte le risorse a sua disposizione
a tutti e ancora non possiamo farlo per
memoria ma possiamo farlo per CPU
e alla fine possiamo usare diversi
combinazioni di richieste e limiti chi
impostare le garanzie delle risorse o quasi come
protezione quanta protezione fa la nostra
i disoccupati hanno quindi questo è per super
la tua memoria ci dà effettivamente
qualità del servizio se abbiamo specificato a
la richiesta è uguale a zero, quindi siamo giusti
dire una B ogni volta che puoi farlo
pod ogni volta che puoi se tutto è
al massimo il massimo di tutta la classe
quindi non sarà in grado di eseguire eppure siamo noi
programmato ma non sarà in grado di funzionare
ma non ha come condivisioni di CPU ma se
c’è capacità inutilizzata quindi sarà
in grado di eseguire e utilizzare qualsiasi cosa di cui ha bisogno se
tu dici che due richieste sono inferiori al
limite e stai dicendo che a volte lo so
abbiamo bisogno di questo molto, ma a volte abbiamo bisogno
scoppiare e avere di più e questo è il
limite stiamo andando ad e quello è
fondamentalmente scoppiano di tutto ciò che possiamo eseguire
non possiamo sempre garantire che lo farà
avere quello disponibile ad esso ho detto che proviamo
a voi più punti di vista più potrebbe essere irto
l’ordine può anche essere avviato ma
garantito abbiamo specificato una richiesta e a
limite per essere esattamente lo stesso così questo è
davvero la massima priorità non lo è
davvero una priorità al momento ma è così
fondamentalmente una garanzia di protezione così
in pratica stai dicendo che questo pod lo farà
essere sempre in grado di correre perché non è mai
andando a volere più del suo limite e
quando si specifica la configurazione
sembra qualcosa di simile a questo uso in particolare
trova una memoria e la CPU per una richiesta
e memoria e CPU per un limite
pod che in realtà dovrei menzionare questo
è applicato a livello di contenitore non in a
livello del pod quindi se ne hai più
contenitori puoi impostare una qualità diversa
dei parametri di servizio per ciascun contenitore
e anche la pianificazione dello spod a cui potremmo interessare
su altre cose, a noi potrebbe interessare
su una macchina particolare ha un
la cosa particolare di cui abbiamo bisogno potrebbe
avere una scheda grafica una GPU che possiamo
usarlo potrebbe avere un veloce disco SSD invece di
ad altri dischi basati su mandrino quindi lì
potrebbe essere qualcosa su una macchina che
significa che vogliamo eseguirlo lì così è
tipo di affinità simile e possiamo farlo
con le etichette e abbiamo parlato che nel
un secondo ma possiamo volerne un certo
somma una risorsa e potremmo averne bisogno
alcuni dischi potremmo aver creato un disco
che abbiamo bisogno di specificità o possiamo solo
bisogno di una certa quantità di disco che può
essere fornito a noi così alla fine siamo
super tua memoria quando ci proviamo
programma quando lo scheduler sta cercando
su come programmare questo pod è in a
guarda i requisiti di memoria e CPU
e troverà una macchina o
più macchine che possono effettivamente avere
quella risorsa disponibile o se lo è
usando quello se sta usando un disco specifico
un esempio che abbiamo sempre saputo fare
demo che ho intenzione di ottenere una possibilità per noi
avere un pod MySQL e il pod MySQL
monta un disco e il disco ha tutto
i suoi dati su di esso sono efficacemente online
so che conosco il file system DB e se è così
pod ha bisogno di quel disco, quindi dobbiamo
programmare su un luogo in cui il disco
è disponibile ora che questo potrebbe non essere
montato a tutti nel qual caso possiamo
pianificare su qualsiasi nodo e potremmo allora
montagna quel disco su quel nodo che è
cosa farà automaticamente Kubb mesas
per noi è stato programmato su quel nodo
e troverete una quantità disco di montagna
un disco per noi se abbiamo già montato
quel disco allora stavi correndo su quello
nodo perché lascia quel disco e il
stessa mossa abbiamo una cosa chiamata
volumi persistenti quindi abbiamo bisogno di un certo
rotta di montone da qualche parte intorno a un certo
quantità di disco che avremmo creato
queste cose chiamate volumi persistenti
che puoi montare su richiesta e
anche tu puoi come ho detto che potresti volere
per eseguirlo su una macchina con SSD veloce
disco o la GPU o ci disturbiamo un altro
configurazione necessaria e potrebbe anche
sii che hai qualche tipo di affinità
ho bisogno che tu abbia tutte le tue macchine
nel cloud e alcuni in premessa che
dovrebbe essere presto possibile con una cosa
chiama il nuovo Benitez e così puoi farlo
in realtà dico che voglio eseguirlo su questi
Buster ha qualcosa in- the -prem di cloud
sarai in grado di utilizzare la pianificazione
meccanismi per l’ affinità del nodo da dire solo
eseguire su macchine in premessa non eseguire mai
questo su nel cloud avremo anche
questa cosa viene chiamata anti-affinità
up così quindi se si vuole fare in modo
non funziona mai su questo o non funziona mai su a
macchina con un altro pod che potrebbe venire
in conflitto con o molto diversi
ragioni per cui potresti non voler correre
due cose sullo stesso nodo e si può
usa le politiche anti-affinità quindi assicurati
questo non succede mai e va bene
arrivando probabilmente in un punto libero ma
non essere GA un punto gratis ma lo farà
essere disponibili e in definitiva ciò che abbiamo
fare è affittare chiamato i potenziali nodi
e decidere quale usare e poi noi
abbiamo diverse politiche che possiamo decidere
se bilanciare la CPU una memoria lo farò
assicurati di avere la macchina che lasciamo
la macchina con le risorse più gratuite
o anche assicurarsi che i baccelli che noi
sono in programma su macchine diverse
il più possibile, quindi se ne avessimo 10
punti e 10 macchine che dovremmo avere
uno su ciascun nodo ne abbiamo un mucchio
le cose in arrivo vedrai questo dentro
la diapositiva quando ottieni la velocità
ci stiamo muovendo molto rapidamente a 1.2
siamo a 12.000 stelle ora o qualcosa del genere
ci sono 5.000 commit in cui siamo ora
più il 50% di contributori unici dal lavoro
eravamo con 1.1 quindi è Kubernetes
in rapida crescita
popolarità ed è anche in alto
nulla punta all’1% di tutti i progetti
sul github che è estremamente
diritto significativo così due ordini di
magnitudine meno dell’1% o più di 1%
e così è estremamente popolare 800 plus
contributori unici ne abbiamo molti
progetti basati su kubernetes come
bene
molte aziende che contribuiscono non lo sono
solo Google Red Hat è una cosa seria
contributori a questo come molti altri
questi altri e anche molte aziende sono
già utilizzando le aziende in produzione
e in termini di piani siamo a 1.2
attualmente a un punto i progressi di congelamento
dovrebbe essere a giugno , stiamo cercando di fare un
cadenza di rilascio mensile gratuita e
abbiamo anche un motore container che è
La piattaforma ospitata da Google esiste solo
tempo parlerò di roba di Google
quelle piattaforme come servizio leggono ciao
OpenShift Deus Stratos c’è anche
distrugge come Cora isotonic Moranis
Murano Red Hat atomico di Mosè e infine
è open source completamente open source
non stiamo governando questo progetto
le comunità che governano questo progetto
abituato a lavorare a Sun e l’abbiamo fatto
cosa si chiamava opensolaris e non lo era
davvero molto open source a tutti Kublai
i semi sono completamente open source ed è facile
per il tuo contributo puoi fare pull
richiede di essere coinvolto nei problemi
e ci sono molti dibattiti davvero buoni
quindi se sei interessato ad aiutare
i kubernetes si sviluppano o hai una caratteristica
hai bisogno che tu vada lì e rilanci
quella domanda e parla con gli ingegneri
Ho fatto costruire Annette Cooper
quell’IO è per la documentazione su
github è kubernetes un nativo dello scuba
su slack allentato fai su Twitter
è accumulato IO le diapositive per questo
parlare
bene il mio canale è il mio mazzo canonico
disponibile lì quindi ha più di
queste diapositive quindi se guardi lì lo farai
guarda tutte le diapositive per questo discorso e
di più e questo è fondamentalmente
Ho tempo per le domande o
quindi abbiamo un sacco di domande in realtà
che abbiamo una coppia in relazione a
così come lo è la consapevolezza della regione
programmazione per la consapevolezza della regione
disponibile come fai quello che usi
etichette come si farebbe per le arti grafiche
o è che una caratteristica separata Penso che in
un momento dovrai usare le etichette lì
sono annotazioni quindi possiamo assicurarci che
volumi persistenti e nodi eseguiti nel
stesso posto in modo che possiamo effettivamente identificare
dove li stanno attraversando
annotazioni di cui non abbiamo parlato
annotazioni ma sono un po ‘come
i metadati che possono essere allegati all’esecuzione
oggetti proprio come le note fondamentalmente così noi
posso usare le annotazioni in modo efficace ma io
pensa in un momento che probabilmente dopo di te
le etichette vanno bene
che ne dici di un’altra domanda qui
riguardo all’anti affinità che hai menzionato
è una caratteristica imminente, ma è lì
qualsiasi modo per affrontare questo oggi se
sei intelligente
c’è un modo, sì, probabilmente lo farai
con un potreste probabilmente farlo con
laici ragazzi intendo fornire se sei se
le etichette non sono il modo migliore ma
sei davvero un po ‘limitante
scheduler a quali sono le tue opzioni quando
si tratta di indossare può pianificare il suo
i pod e questo è un po ‘un problema
allontanandone un po ‘del potere
esso
quindi potresti dire solo programmarli
pod su questi nodi e pianifichi
questi baccelli su questi nodi e così c’è
un problema di avere forse multi-tenancy
problema che potrebbe essere un problema
abbiamo anche namespace ma non possiamo
programma basato sul namespace al momento
quindi probabilmente un buon posto di nuovo uso
etichette in modo da raggruppare le cose con etichette e
che probabilmente funzionerà per voi va bene così
si vede alcun beneficio di esecuzione
kubernetes in cima ai missili
sì, penso che sia un buon standard
API quindi penso che alla fine non lo siamo
davvero nel miglior affare di costruzione
grappoli quindi se ci sono altri cluster
meccanismi e questo è grandioso intendo così
puoi costruire un cluster da qualche parte e
quindi attenersi alle parentesi sopra come
puoi fare con un DCO dalla mesosfera
allora va bene così ogni tipo di cluster
meccanismo tutto ciò che può effettivamente funzionare
quella roba che ci fornisce possiamo attaccare a
strato di kubernetes su di esso e questo è
bene
niente più tutto ciò che dobbiamo fare è fare affidamento su
il cluster per fare la programmazione o per
eseguire le istruzioni del
scheduler per noi è ciò di cui abbiamo bisogno
fallo sì, penso che sia molto possibile
Pensavo avessi detto che ci sono così
molti vantaggi sì, sì, sì, doppio
usa tutti i vantaggi che sono specificamente
bene si potrebbe se hai familiarità
con medaglie da un gruppo di mazzi a grappolo
e questo è bello o te se lo hai
muscoli nella tua organizzazione esattamente
già e USANA usa i carbonati sì
esattamente stiamo già usando la misura così tu
può attaccare le combinazioni di ashumen sopra
in modo efficace e quindi puoi semplicemente
spostati come necessario per la portabilità
è uno degli obiettivi principali dei computer
quindi avere questo è API
disponibile ma non doversi preoccupare troppo
molto sull’infrastruttura sottostante
è davvero importante, infatti cito
Bolg prima che mi piacerebbe vedere un
giorno in cui abbiamo al momento noi
pianificare cose su macchine virtuali noi
potresti pensare che potremmo effettivamente ottenere
liberarsi delle macchine virtuali e giusto
programmali a bordo direttamente nel
futuro ad un certo punto quindi è esattamente così
la stessa cosa che abbiamo un cluster che abbiamo
un’interfaccia kubernetes quasi una facciata
e inviamo istruzioni accumulate è
come faremmo sempre , ma non noi
non preoccuparti dei meccanismi di cosa
succede sotto il cofano okay così
un’altra domanda qui sarà console
supportato a un certo punto non lo so
sarà supportata la console penso che lo faresti
devi chiedere loro che dovresti andare loro
alzarsi e scoprire che non sono sicuro
ci sono piani ma penso che sia carina
molto tutto ciò che può essere fatto con
Kubernetes è stato discusso a
github project perché tutti sono
interessato a nessuno è eccitato e
tutti hanno i loro problemi loro
voglio risolverlo quindi penso se qualcuno
vuole correre Kon Suay probabilmente lo farebbe
l’ho cresciuto forse è andato in un
vicolo cieco forse potresti far rivivere e
di nuovo penso che sia la cosa grandiosa
su questo è che puoi solo questo è
quello che voglio come possiamo costruire questo e
le persone saranno interessate e lo faranno
ti dico perché non puoi o perché puoi o
come puoi, quindi, pensare di essere coinvolto
in quelle discussioni è davvero importante
che dire qualcosa come il ridimensionamento automatico
sapete abbiamo visto che si poteva scalare
andando manualmente come voglio note
ma potresti scrivere c’è qualche tipo di
supporto per quello già in kubernetes
sì o se si deve scrivere un
programma esterno che lo scalerebbe
e giù per te va bene così vorrei
parlato di portale per ridimensionare c’è
un bel trenta minuti è piuttosto corto
mostra anche tutte queste cose dentro
la demo è dura e automatica
le dimostrazioni sono davvero terribili perché
anche il ridimensionamento della stessa avviene su a
lungo periodo di tempo non mai in un
demo di due minuti, quindi non funziona mai davvero
propriamente
ma il fatto è che lo sei se tu
avere in un vaso il traffico e la manutenzione
stai monitorando la risorsa
utilizzo di quel pod che puoi scalare
quando raggiunge un certo livello e aggiunge
più baccelli e quei baccelli saranno
distribuito tra i nodi e il
il traffico sarà pilota a basso equilibrio
servizio a ciascuno di questi pod in alcuni
indica che potresti esaurire i nodi che non puoi
essere in grado di pianificare più vasi che è
l’intero punto di Kubernetes è possibile
potenzialmente a corto di nodi e a quello
indica se sei nel cloud
potremmo anche scalare i tuoi nodi o alcuni
fornitori quindi per il motore del contenitore Google
e Google compute engine se sei su
nano possiamo farlo oggi e lo siamo
in cerca di altre persone per fare altro
meccanismi che li consentono alla scala
in modo dinamico ma possiamo quindi ridimensionare di più
nodi e aggiungere nuovi non nuovi pod su quelli
nuovi nodi l’unica cosa che non possiamo fare
attualmente è riequilibrato
quindi, una volta aggiunti i nodi, non possiamo spostarci
cose così possiamo appiattire il cluster
di nuovo probabilmente verrebbe nel
futuro in cui possiamo rimodellare il cluster
in base all’aggiunta di nuovi nodi sarai
in grado di disegnare o ridimensionare in base ad altri
metriche piuttosto che caricare come il
faccia della luna o penso di sì qualsiasi cosa
quello potrebbe essere misurato e se può essere
misurato su una scala ed essere scala
proporzionalmente quindi penso che lo sarà
possibile
Non so cosa possiamo fare con i nodi
già così possiamo farlo su un sacco di
metriche diverse che ho detto che possiamo essere
monitoraggio dei nodi e scala in base a
metriche che stanno accadendo sui nodi
quindi potrebbe essere l’utilizzo del disco o
qualcosa del genere ma lo vogliamo davvero
kubernetes per essere quello che è
responsabile per chiedere nel sottostante
runtime è una scala che non deve essere eseguita
un po ‘di acqua in scala ti matico da solo
perché quel tipo di spremere il nostro
scheduler un po ‘così in pratica
dovremmo avere un’interfaccia da
kubernetes sul runtime sottostante
in modo che possiamo dire hey abbiamo bisogno di più pod
puoi darmi più baccelli e tu puoi
creare un ordine di acquisto e inviarlo a
Dell, quindi ottieni un altro computer
consegnato uno per chiaro per il giorno successivo
e lo infili dentro e lo aggiungi a
il tuo cluster e anche il ridimensionamento a
processo molto manuale di ridimensionamento automatico ma
Sì, penso che sia molto possibile
oggi con il motore del contenitore ma di nuovo
non è che non ti sto raccomandando
scegli il motore del contenitore ma è uno
opzione ma
oggi per AWS e altri un sacco di persone
eseguire Knutson AWS è probabilmente possibile
controlla anche il loro scalatore automatico
ma di nuovo potresti contare sul
operatore il provider cloud per fare il
ridimensionamento per te al contrario di avere
gli accumulatori chiedono che tu – il ridimensionamento
che è un po ‘diverso fresco
Grazie Mandy, grazie mille

Please follow and like us: