K8 s bay area meetup Jan26'16 - Deploying K8S using Kargo
- 1. Copyright © 2015 Mirantis, Inc. All rights reserved
www.mirantis.com
Deploying Kubernetes using
Kargo
Jan25 2017
Matthew Mosesohn (https://www.linkedin.com/in/matthew-mosesohn-aa19398)
Piotr Siwczak (https://www.linkedin.com/in/psiwczak)
- 2. Copyright © 2015 Mirantis, Inc. All rights reserved
Why should I pay attention to Kargo at all?
---
How to begin?
Questions to get answered
- 3. Copyright © 2015 Mirantis, Inc. All rights reserved
Kargo - mission
“Deploy a production-ready Kubernetes cluster”
(source: https://github.com/kubernetes-incubator/kargo/blob/master/README.md)
v2.1.0
- 4. Copyright © 2015 Mirantis, Inc. All rights reserved
Kargo scope
Kargo deploys “full stack”
Operating system
Docker / Rkt
KubeletETCD
Flannel
/
Calico
kube-controller K8S AddOns
- 5. Copyright © 2015 Mirantis, Inc. All rights reserved
Community
https://github.com/kubernetes-incubator/kargo
- 6. Copyright © 2015 Mirantis, Inc. All rights reserved
● Bare metal focus with potential for cloud
● Scalable (800 nodes battle tested)
● Future-proof approach (kubeadm & self-hosted)
● Low learning curve (pure Ansible)
● Lifecycle management
Kargo - key characteristics
- 7. Copyright © 2015 Mirantis, Inc. All rights reserved
Next steps for Kargo
What:
Go with the latest architecture (kubeadm + self-hosted)
---
Why:
Embrace recommended architecture
- 8. Copyright © 2015 Mirantis, Inc. All rights reserved
Next steps for Kargo
What:
Better test coverage for cloud envs
---
Why:
- Cloud is major environment for K8S deployments.
- Advent of federation will allow for deployments across
many envs.
- 9. Copyright © 2015 Mirantis, Inc. All rights reserved
Next steps for Kargo
What:
Rolling upgrade
---
Why:
Huge obstacle for enterprise adoption for the technology -
learned hard way from OpenStack
- 11. Copyright © 2015 Mirantis, Inc. All rights reserved
Production deploy steps
https://github.com/kubernetes-incubator/kargo/blob/master/
docs/getting-started.md
● Install usual ansible prerequisites (pure OS + ssh)
● Generate ansible inventory file
● Generate group_vars
● Rollout using standard ansible tools