Skip to content

canonical/openstack-capi-k8s-helm-charts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cluster API Canonical Kubernetes Helm Charts

Helm Charts to deploy Canonical Kubernetes clusters using Cluster API. Cluster API should use Bootstrap and Control plane providers from Cluster API Canonical Kubernetes

Available helm charts

openstack-ck8s-cluster

Supports deployment of Canonical Kubernetes clusters on openstack infrastructure. The chart is designed to work with OpenStack Magnum project using driver magnum-capi-helm

Once deployed, user will get a canonical k8s cluster on top of openstack instances with ck8s default features enabled CNI cilium, Local filestorage, Ingress as well as cluster addons like OpenStack CCM and CSI Cinder. Users can use OpenStack Cinder as storage backend for k8s and OpenStack Loadbalancer as external Loadbalancer for k8s.

Cluster addon's supported

  • OpenStack Cloud Controller Manager
  • CSI Cinder

Future work

Design considerations in writing Helm charts

  • For cluster addons, use official k8s-sig cluster add-on provider cluster-api-addon-provider-helm In case if manifests need to be created as part of addons, use cluster resource set For example, openstack-cloud-controller-manager charm expects a secret to be injected in desired cluster with cloud credentials. This is acheived via cluster resource set since the openstack-cloud-controller-manager didnot support this

    Alternative solutions available: cluster-api-addon-provider supports Helm Charts and Manifests as CRD

  • Upstream chart cluster-autoscaler requires some changes to pass on dynamic values within the parent helm chart openstack-ck8s-cluster. To achieve this, cluster-autoscaler is added as git subtree and modifications are done on top of it.

    Commands used to add upstream repo autoscaler with tag cluster-autoscaler-chart-9.47.0:

    git remote add autoscaler-remote https://github.com/kubernetes/autoscaler.git
    git fetch autoscaler-remote
    # git branch temp_autoscaler_9.47.0 autoscaler-remote/cluster-autoscaler-chart-9.47.0
    git branch temp_autoscaler_9.47.0 cluster-autoscaler-chart-9.47.0
    git checkout -f temp_autoscaler_9.47.0
    git subtree split --prefix=charts/cluster-autoscaler -b temp_autoscaler_chart_9.47.0
    git checkout -f autoscaler
    git subtree add --prefix=charts/openstack-ck8s-cluster/charts/cluster-autoscaler temp_autoscaler_chart_9.47.0 --squash
    
    # For signing commits
    # git rebase -i --rebase-merges <parent hash commit of squash commit>^
    # change pick to edit for squash commit
    # change -C to -c for merge commit
    # git commit --amend --no-edit -S
    # git rebase --continue
    

About

Helm Charts to deploy Canonical Kubernetes clusters using Cluster API

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •