6162 - How to Build and Operate Your Private Cloud with Ubuntu on IBM Power Systems and Openpower
Total Page:16
File Type:pdf, Size:1020Kb
#6162 - How to Build and Operate Your Private Cloud with Ubuntu on IBM Power Systems and OpenPOWER Ivan Doboš, Solutions Architect, IHV team Canonical Think Conference March 2018 Delivering the economics and agility of hyperscale innovators to enterprises globally Developer productivity | Infrastructure economics 2 IBM / Canonical Power Relationship ● 14.04 LTS first release (April 2014) ● First commercial Linux to support: ■ POWER8 LE ■ CAPI ■ KVM, PowerKVM ■ Docker, LXC, LXD ■ Cloud Foundry ● Canonical is Platinum OpenPower Member ○ Robbie Williamson - Chairman of the Board) ○ Ivan Doboš - Technical Steering Committee ● Ubuntu Open Source ecosystem available for Power; IBM software charms available now Why cloud? ● (Hyper)scale ● Flexibility ● Efficiency ==> better economics ● Successful cloud – Hosting applications – Growing (scaling out) – Providing new features (Regular upgrades) – minimizing operational costs by Automation From bare metal to containers ... ● Hardware (compute, network, storage) ● Operating system ● Applications ● Containers ● Applications ● Containers * ● Applications ● Hypervisor ● Virtual Machines ● Operating System ● Applications ● Containers ● Application * nested containers, Docker under LXD example Cloud Solution Stack: Enabling Operations at Scale Landscape: Systems management & patching Juju Juju: Cloud deployment, integration, scaling, upgrading LXD: Pure-container VMs - Containers Containers (Docker) hypervisor KVM (LXD) Ubuntu OpenStack: Canonical-produced Kubernetes: optimized and interop OpenStack Kubernetes Docker Container tested openstack e coordination p packages a c Enterprise-class, s d hyperscale server n Ubuntu Server operating system a L MAAS: Metal-as-a- MAAS Service for bare-metal provisioning 6 Cloud Edge Elastic hybrid cloud Transactional Edge ( IoT ) Public Public Clouds Clouds Bulk compute data center First things first – Bare metal maas.io Key to Private DC Economics is Automation MAAS Feature Matrix SDDC User Interfaces Disk layout BMC protocols ● IPAM, DNS and DHCP ● Web ● Partitioned ● IPMI ● Dynamic allocation ● REST API ● Raw ● AMT * ● Availability Zones ● CLI ● RAID ● Redfish ● Python ● LVM Chassis support ● bcache Operating Systems ● SSH & BMC credential setup ● Cisco UCS Host NIC config ● Microsoft OCS ● Auto-enlistment via PXE ● CentOS 6, 7 ● Seamicro 15K ● Hardware inventory ● RHEL 6,7 ● Raw ● HP Moonshot ● Auto-tagging ● Ubuntu ● Tagged VLAN ● Custom commissioning ● Windows 2003, 2010 ● Bonded VM Controllers ● Post-install configuration ● Custom ● Bridged* ● KVM Virsh ● PowerKVM ● vSphere Time from request to VM Cloud Metal Request Procure >>> from boto import ec2 >>> c = ec2.connect('us-west-2') Rack >>> r = c.run_instances( Firmware min_count=3, Configure aws_image_id, Install OS instance_type='c1.xlarge') Launch Credentials Automation The devil in the details Node Network Discovery PXE & TFTP DNS, NTP & more bind, ntpd HW inventory lshw Topology & addressing IPAM BMC freeipmi L2 & L3 config DHCP BIOS & firmware fwupd Boot process BIOS & UEFI Infrastructure OS Deployment curtin DCIM Diskless / Ephemeral iSCSI PDUs OpenFlow Storage & Networking cloud-init Switches & routers SNMP MIBs Decommissioning NIST-wipe Storage appliances Vendor stuf MAAS The bare metal API Inventory. Commission. Deploy. IP, DHCP, DNS, PXE, IPMI ready to roll 1 Automated physical provisioning 2 Dynamic allocation to workloads 3 IP Address Management (IPAM) 4 Web interface and REST API 5 Windows, Linux OS install Ubuntu, RHEL, SUSE Windows Custom images Application modeling Machine MAAS configuration “Please give me up a machine of ppc64el architecture, with 24 GB RAM, a root disk of 300GB and at least 6 more 3TB Operator setup disks, with an nVidia GPGPU running Ubuntu.” MAAS 2.0 Changes the provisioning game 100k servers in a Region HA Region Controller (1-3 servers) - highly available - users and groups Rack Controller Rack Controller - resource allocation - central postgres db * ideally on switch - machine inventory * typically in-rack Server * cache of images Single view of server status, API * backup for adjacent racks Server endpoint, web UI. Provides PXE boot and local OS image delivery for installation. Server Server Server Server Server Server Server Server Server Server Server High Availability for Region & Rack services ○ Region HA Region Region ○ Rack HA Rack 1 Rack 2 Rack 3 ubuntu.com/lxd github.com/lxc linuxcontainers.org LXC 2.0 adds the LXD container hypervisor LXD provides machine containers Virtual Linux Machines Containers Machine containers Physical Machines LXD is Canonical’s container hypervisor ➢ Ultra fast “vm-lite” guests (bare metal speed) lxc ➢ Anylxc distribution of Linuxlxc - e.g. Ubuntu, CentOSlxc lxc machine ➢machineStarts in less than machine1 second machine machine ➢ 15x density of KVM or ESX for idle workloads kernel lxd kernel lxd kernel lxd kernel lxd kernel lxd host A host B host C host D host ... LXD REST API nova-lxd lxc cli other restful apps LXD – benefits for Cloud ● Lift and shift for existing applications ● Collocation of different workloads on the same node – Hyper-converged architecture as a default for Canonical OpenStack ● More efficient way of using instances in cloud – typically an instance in Cloud = VM – Run containers inside an instance ● Instances in cloud implemented as LXC containers – LXD as a supported hypervisor for OpenStack – 14x greater density with LXD than with VMs (tested on x86), lower latency Operate big software at scale on any cloud jujucharms.com the phase change of modern software scarcity has shifted from code to ops (Are you ready to operate a SW you don’t understand?) How to fix it? ● Imagine ‘open source operations’ – Free, downloadable, driven by the community and/or SW vendors – Reflecting the release changes of the applications to operate – Providing functions like: ● installation/uninstallation ● upgrades ● configuration management ● scale ● integration between applications ● ‘must to have’ generic and also application specific actions: backup, restore, pause/restart, ... – ? – reuse operations code in completely different architectures Reuse across clouds developer laptop gce / azure / oracle (lxd containers) your app test and dev vm’s aws vmware bare metal openstack Ubuntu OpenStack 65% of large production OpenStack deployments run Ubuntu Canonical OpenStack Management & Infrastructure Automation Services Nova Horizon Landscape Ceilometer Keystone Neutron /Telemetry Swift Cinder Glance Juju Ubuntu 16.04 LTS MAAS 14 OpenStack Architecture example MySQL/0 MySQL/1 MySQL/2 rabbit/0 rabbit/1 rabbit/2 keystone/0 keystone/1 keystone/2 horizon/0 horizon/1 horizon2 Swift Swift Swift Neutron/0 Neutron/1 Neutron/2 Ceph Ceph Ceph pgsql/0 pgsql/1 pgsql/2 cinder/0 cinder/1 cinder/2 MongoDB0 MongoDB1 MongoDB2 Ceilo/0 Ceilo/1 Ceilo/2 glance/0 glance/1 glance/2 juju 0 juju 1 juju3 MAAS 1 LDS0 LDS1 LDS2 Nova-KVM Nova-LXD Baremetal Virtual Machine Linux Container (LXC) OpenStack Archive Upgrade Guarantee 14.04 14.10 15.04 15.10 16.04 16.10 17.04 17.10 18.04 18.10 19.04 Queens LTS Ubuntu 18.04 LTS 5 years Queens LTS Pike 18 months Ocata 18 months extra 18 months for customers Newton 18 months Mitaka LTS 5 years Ubuntu 16.04 LTS 5 years Mitaka LTS 5 years Liberty 18 months Kilo 18 months extra 18 months for customers Juno 18 months Icehouse LTS 5 years Ubuntu 14.04 LTS 5 years Canonical’s distribution of Kubernetes easy, stable, latest release of upstream any CPU architecture x86 s390x extensible by design NFS rich accessory ecosystem Why Canonical? Most popular cloud and Launch partner as a KCSP container operating system Why Canonical Kubernetes? Pure upstream, latest & greatest versions Operates on AWS, Azure, GCE, OpenStack, VMWare Bare metal operations with MAAS 100% compatible with Google’s Kubernetes Secured. TLS, Kernel Live patching, confinement Upgradable between each Kubernetes Release Cost efective at scale Support for GPUs ● Automated GPU Discovery ● Live GPU adjustments ● Automated configuration of applications LXD, Kubernetes & GPUs * Conclusion Hardware Cloud ARM64 Single Host Bare Metal Cluster Cloud Cluster Single Host Cloud Cluster Juju + helm, sudo give me Artificial Intelligence: check! *coming soon to IBM Power In Summary ➢ Ubuntu #1 Linux for Cloud, ScaleOut, Dev Ops – >65% Production OpenStack clouds are Ubuntu – Juju and related cloud tooling supports DevOps speed ➢ Operating on premise with the efficiency and flexibility of a public cloud – Combine maas, LXD, Juju and OpenStack as needed ➢ Ubuntu on IBM Systems: great Ubuntu experience on IBM Power and IBM Z/LinuxONE – Global Partnership with IBM * Canonical & Open Source * Thank You! [email protected] .