Scaleway Elements Kubernetes Kapsule

Scaleway Elements Kubernetes Kapsule Overview

Scaleway Elements Kubernetes Kapsule provides a managed environment to create, configure and run a cluster of preconfigured machines for containerized applications. You will be able to create Kubernetes clusters without the complexity of managing the infrastructure.

The service offers full flexibility such as:

  • Scaling the number of pods depending on the workload.
  • Managing your cluster easily via the Kubectl

To administrate your Kubernetes Cluster easily, Scaleway provides a .kubeconfig file that allows you to manage your cluster from your local computer by using kubectl. Kubectl is the command line interface for running commands against Kubernetes clusters.

To learn more about Scaleway Elements Kubernetes Kapsule, refer to the FAQ.

Requirements:

Core concepts

Kubernetes

Kubernetes is an extensible open-source platform, built to manage containerized workloads and services. For more detailed information, refer to our Introduction into Kubernetes and the official documentation.

Cluster

A cluster is a set of machines, called nodes, running containerized applications managed by Kubernetes. The Kubernetes Control Plane and associated load balancers are managed by Scaleway. A cluster has several worker nodes and at least one control plane. Each cluster is built for High Availability with a redundancy on the Control Plane.

Consider the following when creating a Control Plane:

  • A cluster belongs to one region
  • As the cluster’s control plane and load balancer are managed by Scaleway, it is not possible to access them directly or to configure them individually.
  • A cluster requires a minimum of one pool of worker machines in order to deploy Kubernetes resources. (Pods must run on a worker node).

Pool

The Pool resource is a group of Scaleway compute instances, organized by type (e.g., GP1-S, GP1-M).

It represents the computing power of the cluster and contains the Kubernetes nodes, on which the containers run.

Consider the following when creating a Pool:

  • Containers require a minimum of one compute instance in the Pool.
  • A pool belongs to only one cluster, in the same region.

Load Balancer

Load balancing refers to efficiently distributing incoming network traffic across a group of backend servers. Scaleway services manage the traffic between the API masters. As a user, the load balancer is a service entirely managed by Scaleway.

You can create a Load Balancer, at extra charge, using the Kubernetes service type.

Namespaces

Namespaces are used in Kubernetes to divide cluster resources between multiple users. For detailed information, refer to Kubernetes official documentation on Namespaces

Ingress

An API object that manages external access to the services in a cluster, typically HTTPS. Ingress can provide load balancing, SSL termination and name-based virtual hosting.

Creating a Cluster

1 . Sign in to your Scaleway account

2 . Click Kubernetes on the side menu. The Kubernetes Kapsule page is displayed.

3 . Click Create a cluster

4 . On the Create a Cluster page, enter:

  • A name for the cluster and optionally a description:

  • The geographical region of the cluster:

  • The Kubernetes version for the cluster:

  • The instance type for the node(s):

  • Node options, including the number of nodes and whether to enable autoscale. You can also choose whether to enable autoheal and whether to link the cluster to a Placement Group. Alternatively, you can leave these options at default values:

  • If required, configure advanced options, including the container network interface, the ingress controller, the Kubernetes dashboard configuration (by default, the dashboard option is selected) and cluster tags, which can help you to organize your cluster. Keep the default settings if you don’t know what these values mean:

5 . Click Create Cluster

Your cluster is being deployed

Once your cluster is created, it appears in the Clusters List.

Editing a Cluster

Several options are available from the pop-up menu on the cluster list page:

  • More info: See detailed information about the Cluster
  • Add a pool: Add additional computing resources to the Cluster
  • Get kubeconfig: Download the .kubeconfig file of the Cluster
  • Delete: Delete the Cluster

Monitoring a Cluster

To view your cluster information, click on the cluster itself. The cluster overview page provides several pieces of information:

  • Cluster information
  • Add-ons
  • Auto Upgrade
  • Cluster tags
  • Renewal of the kubeconfig file to restore access permissions
  • Download of the kubeconfig file
  • The option to delete the cluster

If you click on the Pools tab, you are able to add, edit or delete a pool on your cluster.

If you click on the Nodes tab, you are able to reboot or replace nodes on your cluster.

Connecting to a Kubernetes Cluster via kubectl

Once the cluster is created, a .kubeconfig file is available for download to manage several Kubernetes clusters. You can use this with kubectl ,the Kubernetes command line tool, allowing you to run commands against your Kubernetes clusters. You can use kubectl from a terminal on your local computer to deploy applications, inspect and manage cluster resources, and view logs.

1 . Install kubectl on your local computer

2 . Download the .kubeconfig files from your Cluster’s Overview page:

3 . Configure access to your cluster. You can do this in one of two ways:

Set the KUBECONFIG environment variable:

export KUBECONFIG=/$HOME/Downloads/Kubeconfig-ClusterName.yaml

Or use use $HOME/.kube/config file:

mv $HOME/Downloads/Kubeconfig-ClusterName.yaml $HOME/.kube/config

Either way, make sure you replace /$HOME/Downloads/Kubeconfig-ClusterName.yaml with the correct name and path of your downloaded .kubeconfig file.

4 . Run the following command to finish:

kubectl get nodes

Accessing the Kubernetes Dashboard from the Scaleway Console

You can access the Kubernetes Dashboard direclty from the Scaleway console. The Kubernetes Dashboard is a web based interface that displays the state of Kubernetes resources in your cluster as well as errors that may have occurred.. You can also deploy new containerized applications or troubleshoot your existing ones from the web interface.

From Your clusters overview page, click Dashboard:

The Kubernetes Dashoboard opens in a new browser tab:

Deploying an Ingress Controller with the Cluster

An Ingress Controller is an entry point that ingests your HTTP/HTTPS traffic and dispatches it to your services. More precisely, it is a reverse proxy that will dynamically configure itself and will forward HTTP/HTTPS traffic to your services.

It is possible to configure an Ingress Controller during cluster creation. Click on Advanced Options and click on Yes to enable the Ingress Controller. It is possible to setup Nginx, traefik or traefik2:

Accessing the Nodes' Public IPs

  • To access the nodes’ public IPs, you can use the command below:
    kubectl get nodes -o wide
    

Scaleway Elements Kubernetes Kapsule Limitations

Kapsule presents the following limitations:

  • Cluster’s nodes cannot be accessed via SSH
  • The /etc folder on Kubernetes Kapsule nodes might be used for internal cluster actions. Prefer /home or /data for local storage, even though local storage is not recommended in stateless Kubernetes clusters.

Going further?

To keep practicing with Kubernetes Kapsule, refer to

To learn more about Scaleway Elements Kubernetes Kapsule, refer to

Discover the Cloud That Makes Sense