20
EOSC-hub receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 777536. eosc-hub.eu @EOSC_eu Enol Fernández EGI Foundation Dissemination level: Public/Confidential If confidential, please define: Disclosing Party: (those disclosing confidential information) Recipient Party: (to whom this information is disclosed, default: project consortium)

Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

EOSC-hub receives funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 777536.

eosc-hub.eu@EOSC_eu

Enol Fernández EGI Foundation

Dissemination level: Public/Confidential If confidential, please define:Disclosing Party: (those disclosing confidential information)Recipient Party: (to whom this information is disclosed, default: project consortium)

Page 2: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

Multi-cloud IaaS with Single Sign-On via Check-in- Technology agnostic, supports OpenStack,

OpenNebula and Synnefo

Extra features- Virtual Appliance catalogue- Unified GUI dashboard- Centralised accounting- Resource discovery- SLA monitoring

2

EGI Cloud Federation

Cloud Compute

Cloud ContainerCompute

OnlineStorage

AoDTraining

Infrastructure

Page 3: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

3

The infrastructure

20 resource centres• 15 OpenStack• 4 OpenNebula• 1 Synnefo

5 centres under integration

2 centres expressed interest on joining

Page 4: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

Run Virtual Machines on demand on EGI’s Cloud Federation

- Similar to AWS EC2/EBS or GCP Compute Engine

Access is VO-based: VO = group of users + providers supporting the VO

- Community-specific VOs – e.g. CHIPSTER, EISCAT, etc.

- Training VO = training.egi.eu

- Generic VOs – e.g. fedcloud.egi.eu

Diverse providers with common:

- AuthN and AuthZ

- VM Image catalogue

- Information discovery

- Accounting

- Monitoring

- GUI dashboard

4

EGI Cloud Compute

VO 1(cloud a, b, c)

c

ef

b

a

d

VO 2(cloud b, c,

d, e,f)

Page 5: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

21/06/2018 5

EGI Cloud Compute concepts

SoftwareAppliance

Contextualization script

Virtual Appliance

Meta data

VM image

Start in a cloud

VM instance

Configured andready to be used

What to provide How to start

Block Storage

Attach

Persistent even when VM disappears

Immutable representation of OS and applications

Object StoragePersistent, HTTP access

Page 6: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

6

Browse VO and images from AppDB

Page 7: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

7

…or using GraphQLMore information at https://docs.google.com/presentation/d/19Yh3kNxl01DfcrDgQf12w-KQW5Zrd_QnYP2iGp9Kg2Y/edit?ts=5a2ab515#slide=id.p

Page 8: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

21/06/2018 8

Manage VMs via AppDB VMOps

Single dashboard for all providers

Wizard-like creation of

VMs

Complete Check-in

integration

Page 9: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

21/06/2018 9

Manage VMs via AppDB VMOps

Individual management

of VMs

Topologies are a set of related

VMs

Global management

of VMs

GGUS integration

Page 10: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

21/06/2018 10

Architecture

EGI Federation services: Accounting, Monitoring, Configuration Database, Information Discovery, VM Marketplace

EGI AAI

IaaS Federated Access Tools

Community PlatformsAppDB VMOps

Cloud Management Framework

IaaS API

Cloud Management Framework

IaaS API

IaaS Federated Access Tools

Page 11: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

EGI Federated Cloud no longer mandates a single API for every provider

- OCCI still widely supported but sites are moving native APIs (mainly

OpenStack!)

Tools to deal with heterogeneity:

- IaaS orchestration tools with support for multiple APIs:

§ Infrastructure Manager, Terraform, OCCOPUS, …

§ https://wiki.egi.eu/wiki/Federated_Cloud_IaaS_Orchestration

- IaaS libraries with support for multiple APIs:

§ libcloud, jclouds,…

- See guide on migrating from OCCI to IM on EGI’s wiki:

https://wiki.egi.eu/wiki/Federated_Cloud_OCCI_to_IM_Migration

11

API access: dealing with heterogeneity

Page 12: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

Containers provide virtualisation at the OS level- Same kernel, isolated user-space- Faster deployment, less overhead, easier migration…

12

Containers

Server

Host OS

Hypervisor

Guest OS

libs

App A

Server

Host OS

libs

App A App A’

libs

App B

VMs

cont

aine

rsGuest OS

libs

App B

Guest OS

libs

App A’

Page 13: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

“Open-platform for building, shipping and running distributed applications”

Docker commoditizes containers- Hides and automates container management process- One-command-line deployment of applications- Easy to move from development to production- Provides ecosystem to create and share images

21/06/2018 13

Docker

Page 14: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

14

Container orchestration

ContainerOrchestrator

App A

ContainerContainer

ContainerContainer

App B

ContainerContainer

ContainerContainer InfrastructureSchedule containers to physical or

virtual machinesRestart containers if they stopProvide private container networkScale up and downService discovery

Page 15: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

Run containers on top of EGI Cloud Compute VMs2 (+ 1) options:- Single node: start the EGI Docker VM and run containers directly (or with

docker compose)- Kubernetes: start a cluster of VMs and create a Kubernetes cluster to run your

containers§ Start the cluster using IM + Ansible§ Working on: auto-scaling with EC3, Check-in integration at Kubernetes level

- udocker: run containers as jobs in the EGI HTC service

https://wiki.egi.eu/wiki/Federated_Cloud_Containers

15

EGI Cloud Container Compute

Page 16: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure.Some concepts:- Pod: group of one or more containers, shared storage and options to run the

containers - Deployment maintains the desired count of Pods all the time- Service: logical set of Pods and a policy by which to access them.

§ Exposed to the exterior of the Kubernetes cluster via mapping of ports and or Load Balancing

- Job: A job creates one or more pods and ensures that a specified number of them successfully terminate.

21/06/2018 16

Kubernetes

Page 17: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

apiVersion: apps/v1kind: Deploymentmetadata:

name: frontendspec:

selector:matchLabels:

app: guestbooktier: frontend

replicas: 3template:

metadata:labels:

app: guestbooktier: frontend

spec:containers:- name: php-redis

image: gcr.io/google-samples/gb-frontend:v4resources:

requests:cpu: 100mmemory: 100Mi

env:- name: GET_HOSTS_FROM

value: dnsports:- containerPort: 80

apiVersion: v1kind: Servicemetadata:

name: frontendlabels:

app: guestbooktier: frontend

spec:# comment or delete the following line if you want to use a LoadBalancer

type: NodePortports:

- port: 80selector:

app: guestbooktier: frontend

---apiVersion: extensions/v1beta1kind: Ingressmetadata:

name: frontendspec:

rules:- host: frontend.test.fedcloud.eu

http:paths:

- backend:serviceName: frontendservicePort: 80

21/06/2018 17

Example

Page 18: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

Provides Kubernetes v1.10Major differences with other offerings:- LoadBalancer ServiceType:

§ A NGINX ingress configured by default ready to be used offering similar functionality

§ Expandable with auto-configuration of Let’s Encrypt certificates

- Dynamic provision of volumes for PersistentVolumeClaims§ No block-storage directly available§ NFS-based volumes available instead

21/06/2018 18

EGI Cloud Container Kubernetes

Page 19: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

EGI Cloud Compute currently relies on legacy X.509 + VOMS proxies for access to resources- For users without certificates:

§ PUSP with user-personalised proxies from robot certificate§ RCAuth Online CA to obtain personal proxies from EGI Check-in identities

Now rolling-out production providers with native OpenID Connect support- 2 sites now available, more coming- No need for certificates at all!

21/06/2018 19

A note on AAI

Page 20: Enol Fernández EGI Foundation€¦ · Docker commoditizes containers - Hides and automates container management process - One-command-line deployment of applications - Easy to move

eosc-hub.eu @EOSC_eu

Thank youfor your attention! Questions?