Introduzione a Kubernetes

Размер: px
Начинать показ со страницы:

Download "Introduzione a Kubernetes"

Транскрипт

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

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 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

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 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 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 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? 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

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

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 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 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 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 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

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

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

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 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 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/

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

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

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 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. 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 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

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 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 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 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 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 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 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

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

Подробнее