Version: 0.7

Using Kubernetes Clusters with Kore

To get your application running on Kore, you will need a cluster. Once you are in a team, you can create (if needed) and access a cluster.

A cluster represents a dedicated, isolated Kubernetes cluster available for your team. It can be hosted in AWS, Google Cloud, or Microsoft Azure.

Accessing clusters#

If you have one or more clusters available to your team, you can get kubectl access to them using the kore kubeconfig -t teamname command. This will add a context to your kubectl configuration for each cluster that your team owns, and offer to change your current context to that one.

$ kore kubeconfig
Imported 1 clusters into your kubeconfig: "~/.kube/config", (format: <team>.<cluster>)
View the provisioned contexts via: $ kubectl config get-contexts
? Do you want to switch your kubectl context (or ctrl-c):
No change - leave current context
▸ clustername

You will also need to use kore assume to request elevated privileges in order to access this cluster, depending on the operation you wish to perform. See Assuming roles for more details on role assumption in Kore.

note

kore assume is time-limited in nature, so after (by default) an hour you will need to re-assume the role in order to continue working with your cluster.

Once this is complete you can use kubectl to access the cluster, using --context if you did not choose to change the current context:

$ kore assume kore.viewer --cluster eks-dev
Role successfully assumed (expiration 04 Feb 21 18:20 GMT)
$ kubectl --context teamname.clustername get pods
No resources found in default namespace.

If you do not yet have a cluster available, read on!

Key cluster concepts#

To create a cluster, you will need to have access to a cloud allocated to your team by your Kore administrator, as discussed in the Cloud accounts administration documentation.

A cluster is associated with a plan, chosen when creating the cluster. A plan represents a set of parameters decided by a Kore administrator which define how the cluster should be built, what features it has enabled, what size it should be built and where.

You can customise certain cluster parameters - depending on the policy applied by your Kore administrator, you can amend certain parameters from the selected plan as per your team's requirements.

As part of the parameters, you can also decide what roles to grant other team members to the cluster.

Creating clusters#

You can create a cluster through the CLI with kore create cluster or via the UI (Clusters > New Cluster within your team).

Creation using Kore CLI#

When building a cluster with the CLI you need to specify an allocation to use - this identifies which cloud you wish the cluster to be built in. To see what cloud accounts your team has allocated run kore get allocations -t teamname. Contact your Kore administrator if you do not have an allocation for the cloud you wish to use and they can allocate one as discussed in the Cloud accounts administration documentation.

You can see the available cluster plans using kore get plans. If you wish to understand all of the parameters included in a plan, kore get plan plan-name -o yaml will show you the full detail of the plan.

To build a cluster using all of the values from the plan, use kore create cluster:

kore create cluster clustername -t teamname -p gke-development -a gcporg-name

If you need to specify any parameters, utilise the --param argument - remembering that only parameters which are permitted to be edited by the policies set up by the Kore administrators can be set:

kore create cluster clustername -t teamname -p gke-development -a gcporg-name --param authProxyAllowedIPs='["1.1.1.1/32","2,2,2,2"]'

You can list all of your team's clusters using kore get clusters -t teamname. If you wish to see more details about a specific cluster, try kore get cluster -t teamname clustername -o yaml.

Creation using Kore Portal (UI)#

To build a cluster through the UI select Clusters > New Cluster from your team. This will prompt you to select the cloud you wish to use and let you choose from the available plans. If you do not see the cloud you wish to use, contact your Kore administrator to have one allocated to you as discussed in the Cloud accounts administration documentation.

Once you have selected a plan, expand Customize cluster parameters to adjust any parameters you need - note that any changes here are subject to the policies set up by the Kore administrators - enable Show read-only parameters to see those additional parameters that you cannot amend.