multicloud ci/cd with openstack and kubernetes · infra tools heat openstack native how about...
TRANSCRIPT
![Page 1: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/1.jpg)
Multicloud CI/CD with OpenStack and Kubernetes
FOSDEM 2019
![Page 2: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/2.jpg)
Hi, I’m MaximeCloud Consultant
● Public & Private● OpenStack● Kubernetes● Ceph● CI/CD
![Page 3: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/3.jpg)
Introduction
![Page 4: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/4.jpg)
Multicloud● Several providers● Resiliency● Vendor lock-in● Cost & Hybrid● Features● Locations & Edge
![Page 5: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/5.jpg)
CI/CD● Fail fast● Automation● Consistency
![Page 6: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/6.jpg)
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 · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/7.jpg)
AppBusiness logic
OpenStackInfrastructure as a Service
Overview
KubernetesContainer platform
![Page 8: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/8.jpg)
Multicloud architecture
![Page 9: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/9.jpg)
The edge● DNS name● Global load balancing
○ CDN○ DNS
■ Geo routing (Route53, Dyn)■ DIY Dynamic DNS■ Round Robin
![Page 10: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/10.jpg)
The app● 12 factor● Dockerized● HTTP based● Distributed
![Page 11: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/11.jpg)
Kubernetes● Cloud abstraction● 1 cluster per location● Ingress● Federation...
![Page 12: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/12.jpg)
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 development
■ Kube v1.11+■ Beta Q4?
● DIY - GitLab
![Page 13: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/13.jpg)
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 · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/14.jpg)
Cloud agnostic tools
![Page 15: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/15.jpg)
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 · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/16.jpg)
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 · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/17.jpg)
CI tools● Jenkins● GitLab CI
○ Integration with git○ Merge Requests
● App pipeline○ Check○ Build○ Test○ Run
● GitOps○ weave/Flux○ ArgoCD
![Page 19: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/19.jpg)
● 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 · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/20.jpg)
![Page 21: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/21.jpg)
Demo
![Page 22: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/22.jpg)
Wrap Up
![Page 23: Multicloud CI/CD with OpenStack and Kubernetes · Infra tools Heat OpenStack native How about non-openstack clouds? Smaller ecosystem Ansible Cloud modules os_server, os_floating_ip,](https://reader033.vdocuments.mx/reader033/viewer/2022042220/5ec6687903fbe15f90107cfb/html5/thumbnails/23.jpg)
● 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