4

Anyone knows if there is a solution to provision (non-managed) autoscaling Kubernetes clusters in the cloud?

I am looking for a generic solution that will work in any public cloud and in private data centers.

After quite a bit of research, the known available options do not answer the requirement above -

  • kops which is AWS specific is using own AMI images.

  • kubespray (aka kargo) has no notion of autoscaling, executes Ansible on a specific inventory of hosts.

  • kubeadm expects a known list of hosts and does not take care of OS setup like docker, kubelet, etc...

  • kubernetes autoscaler controls existing auto scaling groups, does not prepare the images used by those groups.

Is there some generic solution to make an autoscaling group deploy Kubernetes cluster on itself? Possibly a way to build cloud images (like AMI in AWS) using Packer for this.

Looking for a method that is not specific to one public cloud and allows to use an elastic environment that scales automatically based on prepared images.

10
  • 1
    As far as I know kops allow deployments in AWS or GCE and some efforts are made to allow vsphere deploys also (this last point is far from stable that said), did you hit a roadblock on GCE or another cloud provider ?
    – Tensibai
    Nov 12, 2018 at 16:32
  • 1
    I need to have a similar process that can be used with multiple clouds, AWS and AliCloud are first, but also bare-metal deployments like Packet.com are an option. Having a known working process that is not coupled to a specific cloud is what I am looking for. For example, kops are using their own custom built AMIs on AWS, this is not really acceptable for our purposes. Nov 12, 2018 at 17:16
  • 1
    Ok, I didn't properly understood this requirements. Maybe looking around rancher could be an option to bake your own images from it ?
    – Tensibai
    Nov 12, 2018 at 17:22
  • 1
    I'm assuming you're aware of the built-in horizontal pod autoscaling; can you describe what that doesn't do that you're looking for? Nov 20, 2018 at 20:53
  • 1
    Maybe elaborating on why you need autoscaling nodes would help. It's pretty atypical to need autoscaling nodes in a private datacentre, as you have already paid ahead of time for your capacity. Dec 21, 2018 at 8:02

1 Answer 1

1

Recently Kubernetes started preview work on https://cluster-api.sigs.k8s.io which is meant to be the standard way to solve the way how High Availability clusters are deployed.

The kubeadm tool has also been updated with features to deploy multiple masters since this question was first asked, which help tremendously. With the exception of deploying cloud-specific configuration, the documentation for kubeadm configuration YAML file brings you quite the way towards having a properly deployed cluster.

docs for kubeadm: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.