Kubernetes deployment

When will end users be able to setup a kubernetes cluster on top of the threefold grid?

Will provisioning be automated? Can I simply define how many masters and how many slave nodes I want and deploy it via a UI? Many solutions today deliver easy provisioning so I guess this will be as easy as industry standard platforms?

Is their automation included to scale up and down triggered based?

Are loadbalancers included?

What network integration do you offer?

Is this only supported on a single location or cross location?

Do you support ansible and or terraform for deployment?

Is kubernetes monitoring included if yes what do you use?

Do you have a storage plugin for persistent storage?

Looking forward to some more info :slight_smile:

Yes, provisioning of a cluster only requires to choose on which node you want your master and worker nodes to be. 0-OS takes care of deploying and connection all the member of the cluster together.

You can add or remove nodes from the cluster at any time, like any other primitives on 0-OS.

The connectivity between nodes is done by the overlay network provided by 0-OS itself. On top of this you should be able run any CNI provider for kubernetes. We have tested flannel and calico and both seems to behave correctly.

Cross location is supported out of the box, you can connect any node from any farm into a single cluster.
You can even share network between your kubernets VM and 0-OS containers, they both user the same overlay network.

For deployment of what? If you are talking about the kubernets cluster, then no. Provisioning on 0-OS currently only supports its own system.

Once you have your cluster installed, you can deploy any monitoring system you like. Have a look at https://github.com/threefoldtech/zos/tree/master/docs/kubernetes#helm-charting for an example how you can deploy the combo prometheus/grafana.

In this first release we only supports local disk as persistent storage. But we plan to continue expanding this to other plugins in future versions.

You can also find some more information in the documentation at https://github.com/threefoldtech/zos/tree/master/docs/kubernetes

1 Like

Hello thank you for the info! Could you provide a demo with the UI so we can see how easy it is?

1 Like

Unfortunately no I do not have any demo to show regarding UI. This is currently only releases for 0-OS itself. The 3bot UI is still in the tubes

I am confused, what can we do or show for now?

Let me clarify things for you. What’s has been releases in the lastest version of 0-OS is the support of a new primitive, kubernetes. This brings the number of primitives of 0-OS to 5, which are network, containers,containers volume, 0-DB namespace and now kubernetes.

This is announcement only concert 0-OS, so the capacity layer, nothing else.

So this means their is nothing that an end user can do on the grid with any primitive as of today? I guess this will change in the next weeks right :slight_smile: ?

It depends how you define an end user.

Let’s say I want to setup a kubernetes cluster with only filling in how many masters and slaves I want. Ones deployed I receive the keys and login, that’s how I see an end user (aws like where we are competing with).

Another possibility is a developer he could use command like but actually he wants it as easy as possible too…

Anyhow I would like to see how you think about this…

Could you show a demo from reserving capacity with tokens all the way to deploying kubernetes cluster an let’s say deploy a wordpress server on it?

Well they are of course different level. At the lowest level everything needs to eventually be an API. But on top of an API, anything is possible. Web based UI is of course something that will be build on top.

Now to show you how “easy” it is to reserve a kubernetes, here is what a user should define to create a 3 node cluster. (I used yaml format here since it’s the default kubernetes user would for sure understand, but the important is just the actual data, not how it is formatted)

- cluster_secret: 31f36db656a29330976e0b6d479680dc3b34ebf33d5be9215816e87845790b4fb322cc89cc37a303a3a94fdcaed6509c490ab348540250b160b177
  ipaddress: 172.22.1.10
  master_ips: []
  network_id: k5jy5l6pndqfmleo
  node_id: 2fi9ZZiBGW4G9pnrN656bMfW6x55RSoHDeMrd9pgSA8T
  size: 1
  ssh_keys: []
  workload_id: 2
- cluster_secret: bdcc205bb8ffbc6ce05bcb4168b9e1d18997acd9a41a29853558e585bedd1c18a5c8de70ccf1442cbe3e1a4365c4d93cd57f6b57289571efef323f
  ipaddress: 172.22.2.10
  master_ips:
  - 172.22.1.10
  network_id: k5jy5l6pndqfmleo
  node_id: 72CP8QPhMSpF7MbSvNR1TYZFbTnbRiuyvq5xwcoRNAib
  size: 1
  ssh_keys: []
  workload_id: 3
- cluster_secret: 62f21b70352cdb8d487803a8c33dc00e2618b3706a60503785e9f1b8caea02739a465ade6e3f6fcd168789c278a0b31f6a655bf074523de2303c01
  ipaddress: 172.22.3.10
  master_ips:
  - 172.22.1.10
  network_id: k5jy5l6pndqfmleo
  node_id: 6m9gFPTYLRiCH7FD8yU5VWwXZdfegKUvXZgrJoS1EJfQ
  size: 1
  ssh_keys: []
  workload_id: 4

If you are interested into the data structure used by 0-OS to define the primitives, I invite you to have a look at the documentation: https://github.com/threefoldtech/zos/blob/master/docs/provision/provision.md

When will the workflow of provisioning with tokens on the grid be available? And will this only be via api?

You can refer to the last update regarding all of this: https://forum.threefold.io/t/we-have-an-update-presentation-for-community/186

We’re getting out of topic here, if you want to disscuss more about this, please create a new thread in the corresponding category :slight_smile: thanks.

1 Like

Created a new one…

1 Like