---
title: Getting started with kOps on Scaleway
description: This page shows you how to get started with kOps on Scaleway.
tags: kops kubernetes
products:
  - kubernetes
dates:
  validation: 2024-10-08
  posted: 2023-03-23
  validation_frequency: 24
difficulty: beginner
usecase:
  - set-up-and-test
ecosystem:
  - third-party
---
import Requirements from '@macros/iam/requirements.mdx'


kOps is a tool that helps you set up and manage Kubernetes clusters for production use. It is like a version of `kubectl` specifically designed for managing clusters.

With kOps, you can easily create, upgrade, and maintain highly available clusters. The tool also takes care of setting up the required cloud infrastructure.

<Message type="important">
    Scaleway support on kOps is currently in **alpha**, which means that it is in the early stages of development and subject to change. Use it with caution.
</Message>

<Requirements />

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- An [SSH key](/organizations-and-projects/how-to/create-ssh-key/)
- Installed [kOps](https://github.com/kubernetes/kops/blob/master/docs/install.md) version >= 1.26 on your local computer
- Installed [`kubectl`](https://github.com/kubernetes/kops/blob/master/docs/install.md) on your local computer
- An [Object Storage bucket](/object-storage/quickstart/) and its credentials

## Configuring environment variables

Before working on the tutorial, it is important to set the following [environment variables](https://github.com/scaleway/scaleway-sdk-go/blob/master/scw/README.md) on your local computer.

```bash
export SCW_ACCESS_KEY="my-access-key"
export SCW_SECRET_KEY="my-secret-key"
export SCW_DEFAULT_PROJECT_ID="my-project-id"
# Configure the bucket name to store kops state
export KOPS_STATE_STORE=scw://<bucket-name> # where <bucket-name> is the name of the bucket you set earlier
# Scaleway Object Storage is Amazon S3-compatible so we just override some configurations to talk to our bucket
export S3_REGION=fr-par                     # or another scaleway region providing Object Storage
export S3_ENDPOINT=s3.$S3_REGION.scw.cloud  # define provider endpoint
export S3_ACCESS_KEY_ID="my-access-key"     # where <my-access-key> is the API access key for your bucket
export S3_SECRET_ACCESS_KEY="my-secret-key" # where <my-secret-key> is the API secret key for your bucket
# this is required since Scaleway support is currently in alpha so it is feature gated
export KOPS_FEATURE_FLAGS="Scaleway"
```

## Creating a single master cluster using kOps

<Message type="note">
    Currently, you can only create a kOps cluster in a single Availability Zone (`fr-par-1`, `fr-par-2`, `fr-par-3`, `nl-ams-1`, `nl-ams-2`, `nl-ams-3`, `pl-waw-1`, `pl-waw-2`, `pl-waw-3`).
</Message>

* Create a cluster in the `fr-par-1` Availability Zone, by running the following command:
    ```
    kops create cluster --cloud=scaleway --name=mycluster.k8s.local --zones=fr-par-1 --yes
    ```
    <Message type="note">
        The default cluster uses Ubuntu images on DEV1-M machines with `cilium` as Container Network Interface.
    </Message>

## Editing a cluster using kOps

### Update a cluster

* Run the following command to update your cluster using kOps:
    ```
    kops update cluster mycluster.k8s.local --yes
    ```

### Delete a cluster

* Run the following command to delete your cluster using kOps:
    ```
    kops delete cluster mycluster.k8s.local --yes
    ```

## Going further

Now that you have a working `kops` cluster, read through the [recommendations for production setups guide](https://github.com/kubernetes/kops/blob/master/docs/getting_started/production.md) to learn more about how to configure kOps for production workloads.

For more information about kOps, refer to the [official kOps documentation](https://kops.sigs.k8s.io/).