Deploying Kubernetes Clusters
on Apache Cloudstack
By Kiran Chavala & Vishesh Jindal
About me
• QA Engineer – ShapeBlue
• Have a decade experience in using and Providing Technical Support for Apache
CloudStack
• Open-source enthusiast
• Addicted to various Podcasts/Audiobooks
• Reach me at:
Twitter : @kiranchavala
Email : kiran.chavala@shapeblue.com
Agenda
What is CKS ?
How CKS works
Demo of CKS
What is CPAC?
How CPAC works
Demo of CPAC
Use case
What is CloudStack Kubernetes Service
[CKS] ?
Managed Kubernetes Offering
Kubernetes as a Service
Seamless, One-click
Lifecycle
Create, Scale, Upgrade, Delete
How CKS works
Prerequisites
Global settings
• Enable CKS (cloud.kubernetes.service.enabled)
• Endpoint URL (endpoint.url)) (http://<mgmt server ip>:8080/client/api)
• Register CKS ISO ( Kubernetes Binaries, Images, Config files )
• ./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION
WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG [OPTIONAL_OUTPUT_FILENAME]
• 1.27.2, kubernetes version, see https://github.com/kubernetes/kubernetes/releases
• 1.3.0, CNI version, see https://github.com/containernetworking/plugins/releases
• 1.27.0, cri-tools version, see https://github.com/kubernetes-sigs/cri-tools/releases
• 1.11, weave addon for kubernetes, see https://github.com/weaveworks/weave/tree/master/prog/weave-kube
• 2.7.0, kubernetes dashboard version, see https://github.com/kubernetes/dashboard/release
• # ./create-kubernetes-binaries-iso.sh ./ 1.27.2 1.3.0 1.27.0
https://raw.githubusercontent.com/weaveworks/weave/master/prog/weave-kube/weave-daemonset-k8s-
1.11.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
setup-v1.27.2
Generating Kubernetes ISO
Steps to register the ISO
How CKS works
How CKS works
Deploy
Cluster
SystemVM
Template
Virtual
Machine
CKS Binary
ISO
cloud-init
userdata
Bootstrapped
Node
Configure
components
Kubernetes
Cluster
Why CKS ?
Seamless
One-click
All In One
● CNI
● Autoscaler
● NW Provider
Quick & Easy
Simple
1
Managed Kubernetes
Offering
Demo of CKS
About me
• Software Engineer – ShapeBlue
• Started working with Apache CloudStack​ recently
• Worked as DevOps Engineer at BlinkIt previously
• Open-source enthusiast
• Reach me at:
Twitter : @visheshj92
Email : vishesh.jindal@shapeblue.com
Cluster API Provider (CAPI)
Plethora of
Providers
Tailored
Services
Differing
Implementations
Standardize
Default
Implementations
Unified Cluster
Management
Individual Cluster
Management
Custom Distros
Commonality
What is Cluster API?
How it solves the problem :
Defines Common Operations
Create, Scale, Upgrade, Delete
Default Implementation
Declarative
clusterctl
What is CAPC ?
Management Cluster Workload Clusters
Cluster
Definition
How does CAPI work ?
Cluster
Definition
CAPI
ACS
Provider
Management
Cluster
Cluster Resources
● Network
● Public IP
● Load Balancer
Cluster Nodes
● Deploy VMs
● Bootstrap : cloud-init
Specialized Features :
● Host Affinity
● Cross Zone
● Additional Disk
● Custom Health Check
● VM Details
Why CAPC ?
Cross Platform
Unified Cluster
Management
Customizable EKS - A Integrated
Demo of CAPC
ClusterAPIProvider for
CloudStack[CAPC]
● Learning curve
● Prerequisites
● Customization
● Specialized Features
● Cross Platform
● External integration
Key Differences
CloudStackKubernetes Service
[CKS]
● Easier to get started
● One-Click
● Ready to use
● Essential Features
● CloudStack Specific
● Native Service
Cluster API
Provider for CloudSt
ack[CAPC]
● Multiple Clouds
● Customize your cluster
● Specialized Requirements
● Independent product
Use Cases
CloudStack Kubernetes Service
[CKS]
● Quick
● Ready to use
● Standard use case
● Out of the Box
Any Questions?
Ref:
http://docs.cloudstack.apache.org/en/latest/plugins/cloudstac
k-kubernetes-service.html
https://cluster-api-cloudstack.sigs.k8s.io/getting-started.html
Thank you!

Deploying Kubernetes Clusters on Apache CloudStack

  • 1.
    Deploying Kubernetes Clusters onApache Cloudstack By Kiran Chavala & Vishesh Jindal
  • 2.
    About me • QAEngineer – ShapeBlue • Have a decade experience in using and Providing Technical Support for Apache CloudStack • Open-source enthusiast • Addicted to various Podcasts/Audiobooks • Reach me at: Twitter : @kiranchavala Email : kiran.chavala@shapeblue.com
  • 3.
    Agenda What is CKS? How CKS works Demo of CKS What is CPAC? How CPAC works Demo of CPAC Use case
  • 4.
    What is CloudStackKubernetes Service [CKS] ? Managed Kubernetes Offering Kubernetes as a Service Seamless, One-click Lifecycle Create, Scale, Upgrade, Delete
  • 5.
    How CKS works Prerequisites Globalsettings • Enable CKS (cloud.kubernetes.service.enabled) • Endpoint URL (endpoint.url)) (http://<mgmt server ip>:8080/client/api) • Register CKS ISO ( Kubernetes Binaries, Images, Config files )
  • 6.
    • ./create-kubernetes-binaries-iso.sh OUTPUT_PATHKUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG [OPTIONAL_OUTPUT_FILENAME] • 1.27.2, kubernetes version, see https://github.com/kubernetes/kubernetes/releases • 1.3.0, CNI version, see https://github.com/containernetworking/plugins/releases • 1.27.0, cri-tools version, see https://github.com/kubernetes-sigs/cri-tools/releases • 1.11, weave addon for kubernetes, see https://github.com/weaveworks/weave/tree/master/prog/weave-kube • 2.7.0, kubernetes dashboard version, see https://github.com/kubernetes/dashboard/release • # ./create-kubernetes-binaries-iso.sh ./ 1.27.2 1.3.0 1.27.0 https://raw.githubusercontent.com/weaveworks/weave/master/prog/weave-kube/weave-daemonset-k8s- 1.11.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml setup-v1.27.2 Generating Kubernetes ISO Steps to register the ISO
  • 7.
  • 8.
    How CKS works Deploy Cluster SystemVM Template Virtual Machine CKSBinary ISO cloud-init userdata Bootstrapped Node Configure components Kubernetes Cluster
  • 9.
    Why CKS ? Seamless One-click AllIn One ● CNI ● Autoscaler ● NW Provider Quick & Easy Simple 1 Managed Kubernetes Offering
  • 10.
  • 11.
    About me • SoftwareEngineer – ShapeBlue • Started working with Apache CloudStack​ recently • Worked as DevOps Engineer at BlinkIt previously • Open-source enthusiast • Reach me at: Twitter : @visheshj92 Email : vishesh.jindal@shapeblue.com
  • 12.
    Cluster API Provider(CAPI) Plethora of Providers Tailored Services Differing Implementations Standardize Default Implementations Unified Cluster Management Individual Cluster Management Custom Distros Commonality
  • 13.
    What is ClusterAPI? How it solves the problem : Defines Common Operations Create, Scale, Upgrade, Delete Default Implementation Declarative clusterctl
  • 14.
    What is CAPC? Management Cluster Workload Clusters Cluster Definition
  • 15.
    How does CAPIwork ? Cluster Definition CAPI ACS Provider Management Cluster Cluster Resources ● Network ● Public IP ● Load Balancer Cluster Nodes ● Deploy VMs ● Bootstrap : cloud-init
  • 16.
    Specialized Features : ●Host Affinity ● Cross Zone ● Additional Disk ● Custom Health Check ● VM Details Why CAPC ? Cross Platform Unified Cluster Management Customizable EKS - A Integrated
  • 17.
  • 18.
    ClusterAPIProvider for CloudStack[CAPC] ● Learningcurve ● Prerequisites ● Customization ● Specialized Features ● Cross Platform ● External integration Key Differences CloudStackKubernetes Service [CKS] ● Easier to get started ● One-Click ● Ready to use ● Essential Features ● CloudStack Specific ● Native Service
  • 19.
    Cluster API Provider forCloudSt ack[CAPC] ● Multiple Clouds ● Customize your cluster ● Specialized Requirements ● Independent product Use Cases CloudStack Kubernetes Service [CKS] ● Quick ● Ready to use ● Standard use case ● Out of the Box
  • 20.
  • 21.