Introduzione a Kubernetes
|
|
|
- Tommaso Romeo
- 6 anni fa
- Просмотров:
Транскрипт
1 Introduzione a Kubernetes Cos è, come funziona e a cosa serve Fabio Da Soghe - Cognitio
2 Web Performance: % 20% Server Client web Back-end
3 Web Performance: 80-20? Fonte:
4 A chi è rivolto il talk Non conosce o non ha ancora usato Kubernetes Usa o almeno conosce i container (Docker)
5 Virtual Machine Container
6 Cos è Kubernetes Orchestratore di container: Cluster di nodi (fisici o virtuali) Gestione dell infrastruttura (computing e network) Automazione
7 Creato da Google Risultato di 15 anni di esperienza in Google Progetto Open Source donato da Google alla CNCF (Luglio 2015) Uno dei progetti Open Source più attivi Leader container orchestrator
8 Fonte: CNCF
9 Orchestratori usati in azienda Orchestratore usato più spesso in azienda Fonte: Portworx
10 Benefici di Kubernetes Paradigma dichiarativo Distribuzione automatica Scaling orizzontale e verticale Rollout e rollback Gestione storage Self-Healing Service discovery Gestione secret e configurazione
11 Paradigma dichiarativo Descrizione dello stato desiderato dell applicazione (YAML) Non come, ma cosa Definizione dell intera infrastruttura necessaria all applicazione in produzione
12 Distribuzione automatica Collocamento automatico dei runtime sui nodi Rispetto di requirement e constraint Applicazione di politiche di massima disponibilità e bilanciamento del carico nodoa 2 vcore 4 GB RAM nodob 4 vcore 8 GB RAM nodoa region: EU nodob region: US app 3 vcore 6 GB RAM app region: EU
13 Scaling orizzontale e verticale Aumento o diminuzione container in esecuzione (scaling orizzontale) Aumento o diminuzione risorse cpu/ram (scaling verticale) Manuale e automatico, in base a soglie prestabilite app 2 vcore 1 GB RAM app 2 vcore 1 GB RAM app 2 vcore 1 GB RAM app 2 vcore 1 GB RAM app 2 vcore 1 GB RAM app 6 vcore 3 GB RAM
14 Rollout e rollback Applicazione progressiva di modifiche e aggiornamenti (supporto a canary release) Monitoraggio costante dello stato Processo automatico Rollback in caso di problemi v1 v1 v1 v1 v1 v1 v2 v2 v2 v2 v1 v1 v2 v1 v1 v1 v2 v1 v1 v1
15 Gestione storage Supporto a diversi storage provider: locale, network (NFS, iscsi, Gluster, Ceph, Cinder, Flocker, ), cloud (GCP, AWS, Azure) Estendibile da terze parti Manuale o auto-provisioned
16 Self-healing Riavvio container in errore (possibile ricollocamento) Ricollocamento automatico in caso crash nodi Health check definiti dall utente wl1 nodoa wl5 nodob wl7 nodoc wl8 wl2 wl6 wl1 wl8 nodoa wl7 wl5 wl2 nodob wl6 wl7 wl6 nodoc
17 Service discovery Meccanismi built-in per pubblicazione servizi ed endpoint DNS interno per assegnare ai container gli IP Networking virtuale sull intero cluster Load Balancing dei servizi esposti web.myapp.svc.cluster.local Service replica replica replica3
18 Gestione secret e configurazione Gestione esplicita informazioni sensibili (secret) Disaccoppiamento esplicito configurazione dai container
19 Architettura generale Kubectl Worker Storage Web UI Dashboard A P I Master Worker Storage 3th party client Worker Storage
20 Oggetti Kubernetes Workload: Deployment Replica Set Stateful Set Daemon Set Job / Cron Job Pod Networking: Service Ingress Configuration: Namespace Secret Config Map Storage: Volume Persistent Volume Persistent Volume Claim
21 Pod: l unità di elaborazione Network IP address Pod Container Volume
22 Pod: l unità di elaborazione Pod Network IP address Container Localhost Container Volume
23 Struttura (core) di un applicazione Master Spawn Worker Worker Declare Declare Deployment Spawn Replica Set Spawn Pod Container A Pod Container A Client Deployment Spawn Replica Set Spawn Container B Pod Container C Mount Declare Persistent Volume Claim Provision Volume Storage Provider
24 It s demo time! Applicazione web: Frontend web Meteor (-> Node.js) Database MongoDB
25 Architettura logica K8s Demo Frontend Web Database HTTP Ingress Service Internet Service Stateful Set Persistent Volume Claim Provision Deployment Mount Volume
26 YAML frontend web (1/2) kind: Ingress apiversion: extensions/v1beta1 metadata: name: k8s-demo spec: backend: servicename: k8s-demo serviceport: 80 kind: Service apiversion: v1 metadata: name: k8s-demo spec: type: NodePort ports: - port: 80 targetport: http selector: app: k8s-demo
27 YAML frontend web (2/2) kind: Deployment apiversion: apps/v1beta1 metadata: name: nodejs spec: replicas: 1 strategy: type: RollingUpdate rollingupdate: maxsurge: 2 maxunavailable: 1 template: metadata: labels: app: k8s-demo spec: containers: - image: "eu.gcr.io/myrepo/k8s-demo" name: nodejs resources: limits: cpu: "0.1" requests: cpu: "0.01" env: - name: MONGO_URL value: " mongodb://mongo-0.mongo:27017/k8s-demo?replicaset=rs0" - [...] ports: - containerport: 3000 name: http readinessprobe: httpget: path: /rest/data/add?size=10&numdocs=0&work=0 port: 3000 initialdelayseconds: 10 periodseconds: 1 failurethreshold: 1
28 YAML database (1/3) kind: Service apiversion: v1 metadata: name: mongo labels: name: mongo spec: ports: - port: targetport: clusterip: None selector: role: mongo
29 YAML database (2/3) kind: StatefulSet apiversion: apps/v1beta1 metadata: name: mongo spec: servicename: "mongo" replicas: 1 updatestrategy: type: RollingUpdate template: metadata: labels: role: mongo spec: terminationgraceperiodseconds: 10 containers: - name: mongo image: mongo resources: limits: cpu: "0.1" requests: cpu: "0.01" command: - "mongod" - "--replset" - "rs0" - "--smallfiles" - "--noprealloc" ports: - containerport: volumemounts: - name: mongo-persistent-storage mountpath: /data/db
30 YAML database (3/3) - name: mongo-sidecar image: cvallance/mongo-k8s-sidecar env: - name: MONGO_SIDECAR_POD_LABELS value: "role=mongo" - name: KUBERNETES_MONGO_SERVICE_NAME value: "mongo" volumeclaimtemplates: - metadata: name: mongo-persistent-storage annotations: volume.beta.kubernetes.io/storage-class: "standard" spec: accessmodes: [ "ReadWriteOnce" ] resources: requests: storage: 10Gi
31 Kubernetes in Cognitio Plenus: Platform-as-a-Service basato su Kubernetes
32
Kops = Kubernetes per tutti
!1 Kops = Kubernetes per tutti Introduzione al cluster Kubernetes secondo Kops di Valentino Pistis !2 Chi sono? Guasila Software Engineer Padre...durante il tempo libero !3 Cos'è un cluster Wikipedia:
DevOps di applicazioni Python (e non solo) su OpenShift. Francesco Fiore, System Architect PyCon Nove, 20 aprile 2018
DevOps di applicazioni Python (e non solo) su OpenShift Francesco Fiore, System Architect PyCon Nove, 20 aprile 2018 Agenda Cos è OpenShift Cenni sull architettura Setup di una semplice applicazione OpenShift
Orchestrazione di contenitori
Luca Cabibbo Architettura dei Sistemi Software Orchestrazione di contenitori dispensa asw670 marzo 2019 You may be wondering what we mean when we say reliable, scalable distributed systems. B. Burns, K.
Red Hat OpenShift: i container per il mondo enterprise
Red Hat OpenShift: i container per il mondo enterprise Michelangelo Uberti, Marketing Manager Dynatrace Perform Roma, 3 Ottobre 2018 Sede Legale e Unità Operativa Via Alfredo Campanini, 6 20124 Milano
Cloud Simulator and Smart Cloud based on Knowledge Base
Cloud Simulator and Smart Cloud based on Knowledge Base Pierfrancesco Bellini, Daniele Cenni, Paolo Nesi DISIT Lab, Lab Dipartimento di Ingegneria dell Informazione, DINFO Università degli Studi di Firenze
OpenStack Self Data Center: il cloud computing secondo TIM
OpenStack Self Data Center: il cloud computing secondo TIM Michelangelo Uberti Marketing Analyst/Par-Tec S.p.A. #redhatosd PAR-TEC IN A NUTSHELL Par-Tec è un software & infrastructure system integrator
Emanuele Barrano Filippo Bosi CLOUD COMPUTING E ARCHITETTURE SOFTWARE: QUALI IMPATTI SULLO SVILUPPO DI APPLICAZIONI?
Emanuele Barrano Filippo Bosi CLOUD COMPUTING E ARCHITETTURE SOFTWARE: QUALI IMPATTI SULLO SVILUPPO DI APPLICAZIONI? Agenda Cloud Overview Approccio al Cloud Computing Impatto sullo sviluppo delle applicazioni
Composizione e orchestrazione di contenitori Docker
Luca Cabibbo Architettura dei Sistemi Software Composizione e orchestrazione di contenitori Docker dispensa asw650 marzo 2017 Containers are almost becoming synonymous to Docker. Dinesh Subhraveti 1 -
Composizione e orchestrazione di contenitori Docker
Luca Cabibbo Architettura dei Sistemi Software Composizione e orchestrazione di contenitori Docker dispensa asw895 marzo 2018 You can't play a symphony alone, it takes an orchestra to play it. Navjot Singh
AWS Una rapida introduzione al Cloud. Simone
AWS Una rapida introduzione al Cloud Simone Maratea [email protected] @simonemaratea Che cos'è il cloud? Il Cloud Computing è un modello che permette da qualsiasi luogo e in maniera comoda l accesso
ALLEGATO 2 - TABELLA PREZZI UNITARI DEI SERVIZI
ALLEGATO 2 - TABELLA PREZZI UNITARI DEI SERVIZI Infrastructure as a Service (IaaS) L1.S1.1 L1.S1.2 Virtual Machine Periodicità del prezzo unitario: Orario VM 1 - small 0,0740 VM 2 - medium 0,1529 VM 3
OpenStack Self Data Center: il cloud computing secondo TIM
OpenStack Self Data Center: il cloud computing secondo TIM Michelangelo Uberti Marketing Analyst/Par-Tec S.p.A. #redhatosd PAR-TEC IN A NUTSHELL Par-Tec è un software & infrastructure system integrator
Gruppo di Lavoro Cloud
Gruppo di Lavoro Cloud GARR WS 17 Roma - 5 Aprile 2017 Mario Reale WS GARR 17 Roma, 5 Aprile 2017 Agenda del GdL Cloud di oggi 9:30 Scopo del Gruppo di Lavoro di oggi 9:30-9:50 La Cloud GARR: Gli ultimi
Prezzo unitario di base d'asta. VM 1 - small VM 2 - medium VM 4 - X large Prezzo unitario di base d'asta
CONSIP PUBLIC Procedura ristretta, suddivisa in 4 Lotti, per l affidamento dei servizi di Cloud Computing, di Sicurezza, di Realizzazione di Portali e Servizi on-line e di Cooperazione Applicativa per
VDI VIRTUAL DESKTOP INFRASTRUCTURE
1 VDI VIRTUAL DESKTOP INFRASTRUCTURE 2 Tiscali Virtual Desktop Infrastructure Il modello End Point Oggi le aziende adottano in prevalenza modelli di End Point basati sull assegnazione di un Personal Computer
Kubernetes : la piattaforma di Google per la gestione dei container
Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Sistemi Operativi Kubernetes : la piattaforma di Google per la gestione dei container Anno Accademico
Linux Day 2009 24/10/09. Cloud Computing. Diego Feruglio
Linux Day 2009 24/10/09 Cloud Computing Diego Feruglio Cos è il Cloud Computing? An emerging computing paradigm where data and services reside in massively scalable data centers and can be ubiquitously
IOT DAY: L internet of things, dalla programmazione del chip all automazione industriale Moving from Internet 1.0 to Iot: le tecnologie IoT
IOT DAY: L internet of things, dalla programmazione del chip all automazione industriale Moving from Internet 1.0 to Iot: le tecnologie IoT Presentazione relatore Fabio Gatti Titoli: Laurea in Ing. delle
Docker. Architettura dei Sistemi Software. Luca Cabibbo. dispensa asw660 marzo Fonti. Docker. https://www.docker.com/
Luca Cabibbo Architettura dei Sistemi Software dispensa asw660 marzo 2016 Containers are almost becoming synonymous to. Dinesh Subhraveti 1 - Fonti https://www.docker.com/ 2 - Obiettivi e argomenti Obiettivi
Contratto Quadro SPC Cloud Lotto 1 CaaS - Enterprise Container as a Service Specifiche del Servizio
Rev. 1 CaaS - Enterprise Container as a Service Gestione Azienda Riferimento REDATTO: REDATTO: APPROVATO: Telecom Italia S.p.A. DXC Technology Telecom Italia S.p.A. (Mandataria), DXC N allegati: 0 INDICE
Contratto Quadro SPC Cloud Lotto 1 CaaS - Enterprise Container as a Service Specifiche del Servizio
Rev. 1 CaaS - Enterprise Container as a Service Gestione Azienda Riferimento REDATTO: REDATTO: APPROVATO: Telecom Italia S.p.A. DXC Technology Telecom Italia S.p.A. (Mandataria), DXC N allegati: 0 INDICE
Digital Transformation e Cloud. Stefano Inelli 22 Novembre 2017
Digital Transformation e Cloud Stefano Inelli 22 Novembre 2017 1 1 2 3 4 Digital Transformation Implementazione servizi IT Contributo del Cloud Quali competenze 2 Digital Transformation Le «tecnologie
CLOUD FOR IOT. Raccogli e gestisci in tempo reale le informazioni prodotte dagli oggetti connessi.
CLOUD FOR IOT Raccogli e gestisci in tempo reale le informazioni prodotte dagli oggetti connessi. REPLY 2 CLOUD FOR IOT L Internet of Things sta cambiando il modo in cui le aziende concepiscono i propri
Configurazione Public Network e Load Balancer as a Service. Stefano Nicotri INFN - Sezione di Bari
Configurazione Public Network e Load Balancer as a Service Stefano Nicotri INFN - Sezione di Bari Outline Configurazione Flat Public Network Rete PRISMA IaaS Bari Requisiti hardware Descrizione Bridge
Sommario. 1 La shell di Windows PowerShell... 1
Ringraziamenti.........................................................xix Introduzione........................................................... xxi A chi è rivolto il libro...............................................
Una Roadmap per il Cloud Computing: Organizzazione e tecnologie per il modello as a Service
Una Roadmap per il Cloud Computing: Organizzazione e tecnologie per il modello as a Service Stefano Mainetti [email protected] La definizione classica del Cloud Computing 4 modelli
Apache e Mysql cluster
Apache e Mysql cluster Index Affrontare il clustering da 4 a 400 nodi con strumenti open-source di livello enterprise (o meglio :>). Deploy di ambienti clusterizzati (Load Balancing e High Availability).
Introduzione e panoramica. Divisione di Exclusive Networks Srl
Introduzione e panoramica Divisione di Exclusive Networks Srl QUALSIASI APPLICAZIONE, QUALSIASI CARICO DI LAVORO, QUALSIASI LUOGO, SU QUALSIASI INFRASTRUTTURA AGENDA 1. Exclusive Group 2. Introduzione,
Allegato Tecnico BaaS/CBaaS
Allegato Tecnico BaaS/CBaaS Nota di lettura 1 Descrizione del servizio 1.1 Definizioni e acronimi 1.2 Blade as a Service e Computing Blade as a Service 1.3 Attivazione del servizio Configurazione Network
Esperienze di Advanced Analytics nella statistica ufficiale: strumenti e progetti
Esperienze di Advanced Analytics nella statistica ufficiale: strumenti e progetti Direzione Centrale per le tecnologie informatiche e della comunicazione Introduzione I Big Data nella statistica ufficiale
Allegato Tecnico Server Virtuale
Allegato Tecnico Server Virtuale Nota di lettura 1 Descrizione del servizio 1.1 Definizioni e acronimi 1.2 SERVER VIRTUALE Conversione tra diversi sistemi hypervisor 1.3 Attivazione del servizio Configurazione
Progettazione e sviluppo di uno strumento di monitoraggio dei componenti software di un sistema per il controllo del traffico aereo
tesi di laurea Progettazione e sviluppo di uno strumento di monitoraggio dei componenti software di un sistema per il controllo del traffico aereo Anno Accademico 2007/2008 relatore Ch.mo prof. Domenico
