diff --git a/source/ext/spellchecking/wordlists/opennebula.txt b/source/ext/spellchecking/wordlists/opennebula.txt index a02318a6a7..b6db9d62a8 100644 --- a/source/ext/spellchecking/wordlists/opennebula.txt +++ b/source/ext/spellchecking/wordlists/opennebula.txt @@ -632,6 +632,7 @@ sata saveas scalability scalable +scaleway sched schedadd scheddelete diff --git a/source/images/scaleway-deployment.jpg b/source/images/scaleway-deployment.jpg new file mode 100644 index 0000000000..84d7079e7e Binary files /dev/null and b/source/images/scaleway-deployment.jpg differ diff --git a/source/provision_clusters/edge_clusters/index.rst b/source/provision_clusters/edge_clusters/index.rst index 0b6c3f2de3..df122c4417 100644 --- a/source/provision_clusters/edge_clusters/index.rst +++ b/source/provision_clusters/edge_clusters/index.rst @@ -9,4 +9,5 @@ Edge Cluster Provisions Overview AWS Edge Cluster Equinix Edge Cluster + Scaleway Edge Cluster On-Premise Edge Cluster diff --git a/source/provision_clusters/edge_clusters/scaleway_cluster.rst b/source/provision_clusters/edge_clusters/scaleway_cluster.rst new file mode 100644 index 0000000000..0b194cd472 --- /dev/null +++ b/source/provision_clusters/edge_clusters/scaleway_cluster.rst @@ -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 ` to check all of the operations needed to create, manage, and delete an Edge Cluster. Refer to the :ref:`providers guide ` 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 diff --git a/source/provision_clusters/providers/overview.rst b/source/provision_clusters/providers/overview.rst index 333c81b17d..87efaa977d 100644 --- a/source/provision_clusters/providers/overview.rst +++ b/source/provision_clusters/providers/overview.rst @@ -11,6 +11,7 @@ In this chapter you can find a guide on how to create Providers based on the sup - :ref:`Equinix Provider ` - :ref:`Amazon AWS Provider ` + - :ref:`Scaleway Provider ` - :ref:`On-Premise Provider ` Note, the on-premise provider is a convenient abstraction to represent your own resources on your datacenter. diff --git a/source/provision_clusters/providers/scaleway_provider.rst b/source/provision_clusters/providers/scaleway_provider.rst new file mode 100644 index 0000000000..153f5fd97c --- /dev/null +++ b/source/provision_clusters/providers/scaleway_provider.rst @@ -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 `__ 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 `__. +* **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