mirror of https://github.com/kubernetes/kops.git
documentation on Scaleway profiles
This commit is contained in:
parent
65fe676967
commit
8aeb1fa7f1
|
@ -33,49 +33,79 @@
|
|||
|
||||
## Environment Variables
|
||||
|
||||
It is important to set the following [environment variables](https://github.com/scaleway/scaleway-sdk-go/blob/master/scw/README.md):
|
||||
### Enable Scaleway
|
||||
|
||||
Since Scaleway support is currently in alpha, it is feature gated and you will need to set this variable:
|
||||
```bash
|
||||
export KOPS_FEATURE_FLAGS="Scaleway"
|
||||
```
|
||||
|
||||
### Scaleway Credentials
|
||||
|
||||
To be able to use Scaleway APIs, it is required to set up your credentials in the [environment](https://github.com/scaleway/scaleway-sdk-go/blob/master/scw/README.md).
|
||||
You have 2 ways to pass your credentials:
|
||||
|
||||
1. If you're already familiar with Scaleway's DevTools, then you probably have a config file (its default location is `$HOME/.config/scw/config.yaml`).
|
||||
If so, you can use the profile of your choice by setting:
|
||||
```bash
|
||||
export SCW_PROFILE="my-profile"
|
||||
```
|
||||
2. If not, you can directly set the credentials in your environment:
|
||||
|
||||
```bash
|
||||
export SCW_ACCESS_KEY="my-access-key"
|
||||
export SCW_SECRET_KEY="my-secret-key"
|
||||
export SCW_DEFAULT_PROJECT_ID="my-project-id"
|
||||
export SCW_DEFAULT_REGION="fr-par"
|
||||
export SCW_DEFAULT_ZONE="fr-par-1"
|
||||
# Configure the bucket name to store kops state
|
||||
```
|
||||
|
||||
**NB:** Keep in mind that the profile is checked first and the environment second, so if you set both, the environment variables will override the information in the config file (profile).
|
||||
|
||||
### S3 Bucket credentials
|
||||
|
||||
For kOps to be able to read and write configuration to the state-store bucket, you'll need to set up the following environment variables. The credentials can be the same as in the previous section, but they don't have to be.
|
||||
```bash
|
||||
export KOPS_STATE_STORE=scw://<bucket-name> # where <bucket-name> is the name of the bucket you set earlier
|
||||
# Scaleway Object Storage is S3 compatible so we just override some S3 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 S3 API Access Key for your bucket
|
||||
export S3_SECRET_ACCESS_KEY="my-secret-key" # where <my-secret-key> is the S3 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"
|
||||
```
|
||||
-> **Important:** Until the next release of `protokube`, you will have to export the following environment variable to make sure that you pull the version from master and not from the latest release that contains an error.
|
||||
|
||||
`KOPS_BASE_URL="$(curl -s https://storage.googleapis.com/kops-ci/bin/latest-ci-updown-green.txt)"`
|
||||
|
||||
## Creating a Single Master Cluster
|
||||
|
||||
Note that for now 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, pl-waw-1, pl-waw-2).
|
||||
|
||||
```bash
|
||||
# The default cluster uses ubuntu images on DEV1-M machines with cilium as Container Network Interface
|
||||
# This creates a cluster with the gossip DNS in zone fr-par-1
|
||||
# This creates a cluster with the gossip DNS in zone fr-par-1
|
||||
kops create cluster --cloud=scaleway --name=mycluster.k8s.local --zones=fr-par-1 --yes
|
||||
# This creates a cluster with no DNS in zone nl-ams-2
|
||||
# This creates a cluster with no DNS in zone nl-ams-2
|
||||
kops create cluster --cloud=scaleway --name=my.cluster --zones=nl-ams-2 --yes
|
||||
# This creates a cluster with the Scaleway DNS (on a domain name that you own and have registered with Scaleway) in zone pl-waw-1
|
||||
# This creates a cluster with the Scaleway DNS (on a domain name that you own and have registered with Scaleway) in zone pl-waw-1
|
||||
kops create cluster --cloud=scaleway --name=mycluster.mydomain.com --zones=pl-waw-1 --yes
|
||||
```
|
||||
These basic commands create a cluster with default parameters:
|
||||
- Container Network Interface = `cilium`. To change it, set the flag `--networking=calico`. To see the list of supported CNIs, check the [networking page](../networking.md)
|
||||
- Instance type = `DEV1-M`. To change it, set the flag `--node-size=PRO2-XS` and/or `--control-plane-size=PRO2-XS`
|
||||
- Instance image = `ubuntu_jammy`. To change it, set the flag `--node-image=ubuntu_focal` and/or `--control-plane-image=ubuntu_focal`
|
||||
|
||||
**NB:** For now, 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).
|
||||
|
||||
### Editing your cluster
|
||||
```bash
|
||||
# Update a cluster
|
||||
kops update cluster mycluster.k8s.local --yes
|
||||
# Delete a cluster
|
||||
kops delete cluster mycluster.k8s.local --yes
|
||||
```
|
||||
|
||||
# Next steps
|
||||
|
||||
Now that you have a working _kops_ cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure _kops_ for production workloads.
|
||||
Now that you have a working _kops_ cluster, read through the [recommendations for production setups guide](production.md) to learn more about how to configure _kops_ for production workloads.
|
||||
For example, you can migrate your cluster to [high-availability](../operations/high_availability.md)
|
||||
|
||||
### Editing your cluster
|
||||
|
||||
```bash
|
||||
# This opens the cluster's configuration file in a text editor for you to make the desired changes
|
||||
kops edit cluster mycluster.k8s.local --state=scw://my-state-store
|
||||
# This applies the changes
|
||||
kops update cluster mycluster.k8s.local --yes
|
||||
```
|
||||
|
||||
### Deleting your cluster
|
||||
|
||||
```bash
|
||||
kops delete cluster mycluster.k8s.local --yes
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue