24
Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Multicloud CI/CD with OpenStack and Kubernetes

Open Infra Summit - Denver 2019

Page 2: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Hi, I’m MaximeCloud Consultant @Belgium

● Public & Private● OpenStack● Kubernetes● Ceph● CI/CD

Page 3: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Introduction

Page 4: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Multicloud● Several providers● Resiliency● Vendor lock-in● Cost & Hybrid● Features● Locations & Edge

Page 5: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

CI/CD● Fail fast● Automation● Consistency

Page 6: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

OpenStack & Kubernetes● OpenStack

○ API driven○ Open Infrastructure○ 60 Public cloud AZs

● Kubernetes○ Container ecosystem○ Developer centric○ Reproducible○ Portable

Page 7: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

AppBusiness logic

OpenStackInfrastructure as a Service

Overview

KubernetesContainer platform

Page 8: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Multicloud architecture

Page 9: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

The edge● DNS name● Global load balancing

○ Anycast○ CDN○ DNS

■ Geo routing (Route53, Dyn)■ DIY Dynamic DNS■ Round Robin

Page 10: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

The app● 12 factor● Dockerized● HTTP based● Distributed

Page 11: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Kubernetes● Cloud abstraction● 1 cluster per location● Ingress● Federation...

Page 12: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Kubernetes federation● Authentication federation

○ OpenID or Webhook○ --oidc-issuer-url○ --oidc-client-id○ kubectl --auth-provider=oidc

■ or Kuberos

● Kubefed○ One API to rule them all○ V1 discontinued○ V2 in WIP prototype

● DIY - GitLab

Page 13: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

OpenStack● Nova

○ Servers / Instances○ Security Groups○ Key pairs○ Server Groups (optional)

● Neutron○ Network & Subnet○ Router○ Floating IPs

Page 14: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Cloud agnostic tools

Page 15: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Infra tools● Heat

○ OpenStack native○ How about non-openstack clouds?○ Smaller ecosystem

● Ansible○ Cloud modules os_server,

os_floating_ip, …○ Lots of clouds: AWS, GCP, VMware

● Terraform○ Infra as a code○ Execution plan○ Even more cloud platforms

Page 16: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Kubernetes install tools● Magnum

○ OpenStack only○ Smaller ecosytem

● Kops○ No OpenStack support, AWS only

● Rancher○ No OpenStack support

● Kubespray○ Support: OpenStack, AWS, Azure,

baremetal, VMware, …○ Ansible playbook○ Terraform plans

Page 17: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

CI tools● Jenkins● GitLab CI

○ Integration with git○ Merge Requests

● App pipeline○ Check○ Build○ Test○ Run

● GitOps○ weave/Flux○ ArgoCD

Page 18: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

DemoSource: gitlab.com/multicloud-openstack-k8s

Page 19: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

● DNS RR● Kubespray● Terraform● GitLab CI w/ Auto DevOps

○ docker build && helm install

● 27 regions● 18 cloud providers● Havana to Rocky

Source: gitlab.com/multicloud-openstack-k8s

Demo setup

Page 20: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019
Page 21: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Demo

Page 22: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Wrap Up

Page 23: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

● Kubefed v2 is coming● OpenStack interop is hard

○ Firewall rules○ Neutron routers○ Floating IPs○ Glance images○ VM flavors○ Changes over time

● Common denominator vs Exceptions● Clouds as cattle

Wrap Up

Page 24: Multicloud CI/CD with OpenStack and Kubernetes · Multicloud CI/CD with OpenStack and Kubernetes Open Infra Summit - Denver 2019

Thank you!

root314.com/presentations/

[email protected]