Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions source/ext/spellchecking/wordlists/opennebula.txt
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,7 @@ sata
saveas
scalability
scalable
scaleway
sched
schedadd
scheddelete
Expand Down
Binary file added source/images/scaleway-deployment.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions source/provision_clusters/edge_clusters/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ Edge Cluster Provisions
Overview <overview>
AWS Edge Cluster <aws_cluster>
Equinix Edge Cluster <equinix_cluster>
Scaleway Edge Cluster <scaleway_cluster>
On-Premise Edge Cluster <onprem_cluster>
52 changes: 52 additions & 0 deletions source/provision_clusters/edge_clusters/scaleway_cluster.rst
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vickmp in this file line 51 points to images/scaleway_deployment.png but the actual filename is images/scaleway-deployment.jpg. If you could change the image file name and also transform the image into .png for consistency

Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
.. _scaleway_cluster:

================================================================================
Scaleway Edge Cluster
================================================================================

Edge Cluster Types
================================================================================

Equinix supports **metal** edge clusters that use bare-metal instances to create OpenNebula Hosts. Metal provisions can run the **LXC** or **KVM** hypervisors.

Scaleway Edge Cluster Implementation
================================================================================

An Edge Cluster in Scaleway creates the following resources:

* **Scaleway Elastic Metal Device**: Host to run virtual machines.
* **Scaleway VPC**: it creates an isolated virtual network for all the deployed resources.
* **Scaleway private subnet**: it allows communication between VMs that are running in the provisioned Hosts.
* **Scaleway internet public gateway**: it allows VMs to have public connectivity over Internet.


The network model is implemented in the following way:

* **Public Networking**: this is implemented using elastic IPs from Scaleway and the IPAM driver from OpenNebula. When the virtual network is created in OpenNebula, the elastic IPs are requested from Scaleway. Then, inside the Host, IP forwarding rules are applied so the VM can communicate over the public IP assigned by Scaleway.

* **Private Networking**: this is implemented using (BGP-EVPN) and VXLAN.

|image_cluster|

OpenNebula resources
================================================================================

The following resources, associated to each Edge Cluster, will be created in OpenNebula:

1. Cluster - containing all other resources.
2. Hosts - for each Scaleway Elastic Metal Device.
3. Datastores - image and system datastores with SSH transfer manager using first instance as a replica.
4. Virtual network - for public networking.
5. Virtual network template - for private networking.

Operating Providers & Edge Clusters
================================================================================

Refer to the :ref:`cluster operation guide <cluster_operations>` to check all of the operations needed to create, manage, and delete an Edge Cluster. Refer to the :ref:`providers guide <provider_operations>` to check all of the operations related to providers.

You can also manage AWS and Equinix Clusters using the OneProvision GUI in Sunstone.

|image_fireedge|

.. |image_cluster| image:: /images/scaleway_deployment.png
.. |image_fireedge| image:: /images/oneprovision_fireedge.png
1 change: 1 addition & 0 deletions source/provision_clusters/providers/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ In this chapter you can find a guide on how to create Providers based on the sup

- :ref:`Equinix Provider <equinix_provider>`
- :ref:`Amazon AWS Provider <aws_provider>`
- :ref:`Scaleway Provider <scaleway_provider>`
- :ref:`On-Premise Provider <onprem_provider>`

Note, the on-premise provider is a convenient abstraction to represent your own resources on your datacenter.
Expand Down
66 changes: 66 additions & 0 deletions source/provision_clusters/providers/scaleway_provider.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
.. _scaleway_provider:

================================================================================
Scaleway Provider
================================================================================

A Scaleway provider contains the credentials to interact with Scaleway and also the location to deploy your Provisions. OpenNebula comes with three pre-defined providers in the following regions:

* PAR-1 (France - Paris)
* NL-AMS-1 (Netherlands - Amsterdam)
* PL-WAW-3 (Poland - Warsaw)

In order to define a Scaleway provider, you need the following information:

* **Credentials**: these are used to interact with the remote provider. You need to provide ``access_key``, ``secret_key`` and ``project_id``. You can follow `this guide <https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys//>`__ to get this data.
* **Zone**: this is the location in the world where the resources are going to be deployed. All the available `zones are listed here <https://www.scaleway.com/en/docs/console/account/reference-content/products-availability/>`__.
* **Offers and OS**: these define the capacity of the resources that are going to be deployed and the operating system that is going to be installed on them.

.. warning:: Please note even though Scaleway support multiple OSs, the automation tools are tailored to works with ``Ubuntu 22.04``. If you use another OS, please be aware that it might required some adjustments, and things might not work as expected. Avoid using a different OS in production environment unless you've properly tested it before.

How to Create an Scaleway Provider
================================================================================

To add a new provider you need to write the previous data in YAML template:

.. prompt:: bash $ auto

$ cat provider.yaml
name: 'scaleway'

description: 'Provision cluster in Scaleway Paris'
provider: 'scaleway'

plain:
provision_type: 'metal'

connection:
access_key: 'Scaleway Access Key'
secret_key: 'Scaleway Secret Key'
project_id: 'Scaleway Project ID'
zone: 'fr-par-1'

inputs:
- name: 'scw_baremetal_os'
type: 'text'
default: 'Ubuntu'
description: 'Scaleway ost operating system'

- name: 'scw_offer'
type: 'list'
default: 'EM-A115X-SSD'
description: 'Scaleway server capacity'
options:
- 'EM-A115X-SSD'


Then you just need to use the command ``oneprovider create``:

.. prompt:: bash $ auto

$ oneprovider create provider.yaml
ID: 0

The providers' templates are located in ``/usr/share/one/oneprovision/edge-clusters/metal/providers/scaleway``. You just need to enter valid credentials.

.. include:: customize.txt
Loading