Qu'est-ce-qu'un réseau Self-service ?🔗
Le réseau Self-service est un réseau privé accessible uniquement par les instances et les routeurs Openstack. Il ne permet pas de communiquer avec des ressources du backend CloudControl proposées par Brane.
Du point de vue du modèle OSI, il s'agit d'un réseau niveau 2 associé à un sous-réseaux de niveau 3 (en IPv4 et/ou d'IPv6). Ces IPs pourront être utilisées par les instances du projet.
Un serveur DHCP fournit automatiquement les adresses IPs aux instances dans les plages configurées.
Pour permettre à des instances d'accèder à des ressources localisées à l'exterieur d'un réseau Self-service, il faudra faire appel à un routeur.
Note
Ces ressources ne sont pas comptabilisées dans la consommation de la galaxie. En revenche, un quota définit le nombre maximum de réseaux Self-service qu'un projet peut posséder.
Lister les réseaux Self-service🔗
Depuis l'interface Brane-web🔗
- Dans le menu de gauche, cliquer sur OPENSTACK , puis RÉSEAU et enfin SELF SERVICE ;
- La liste de tous les réseaux Self-service est affichées ;
- Cliquer sur le nom d'un réseau permet d'afficher sa page d'information.
- Les ressources rattachées à ce réseau sont affichées :
- les sous-réseaux ;
- les ports ;
- Les boutons et permettent de supprimer la ressource liée indiquée;
- Le bouton "Supprimer" permet de supprimer la ressource.
Depuis la ligne de commande🔗
Lister les réseaux self-service
$ openstack network list --internal
+--------------------------------------+----------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+----------+--------------------------------------+
| faabc12f-3023-4875-8983-afab7f0c391d | network1 | 3f2dc6e5-d226-47e8-b8eb-c86683236f7b |
+--------------------------------------+----------+--------------------------------------+
Afficher un réseau particulier
$ openstack network show faabc12f-3023-4875-8983-afab7f0c391d
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | default |
| created_at | 2021-09-23T09:48:06Z |
| description | |
| dns_domain | None |
| id | faabc12f-3023-4875-8983-afab7f0c391d |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | None |
| is_vlan_transparent | None |
| mtu | 1500 |
| name | network1 |
| port_security_enabled | True |
| project_id | 34846977ba2d4758838fdf2b2315ca7c |
| provider:network_type | None |
| provider:physical_network | None |
| provider:segmentation_id | None |
| qos_policy_id | None |
| revision_number | 2 |
| router:external | Internal |
| segments | None |
| shared | False |
| status | ACTIVE |
| subnets | 3f2dc6e5-d226-47e8-b8eb-c86683236f7b |
| tags | |
| updated_at | 2021-09-23T09:48:06Z |
+---------------------------+--------------------------------------+
Afficher un sous-réseau
$ openstack subnet show 3f2dc6e5-d226-47e8-b8eb-c86683236f7b
+----------------------+--------------------------------------+
| Field | Value |
+----------------------+--------------------------------------+
| allocation_pools | 10.0.0.2-10.255.255.254 |
| cidr | 10.0.0.0/8 |
| created_at | 2021-09-23T09:48:06Z |
| description | |
| dns_nameservers | |
| dns_publish_fixed_ip | None |
| enable_dhcp | True |
| gateway_ip | 10.0.0.1 |
| host_routes | |
| id | 3f2dc6e5-d226-47e8-b8eb-c86683236f7b |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | subnet1 |
| network_id | faabc12f-3023-4875-8983-afab7f0c391d |
| prefix_length | None |
| project_id | 34846977ba2d4758838fdf2b2315ca7c |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2021-09-23T09:48:06Z |
+----------------------+--------------------------------------+
Lister les sous-réseaux associés à un réseau
$ openstack subnet list --network faabc12f-3023-4875-8983-afab7f0c391d
+--------------------------------------+---------+--------------------------------------+------------+
| ID | Name | Network | Subnet |
+--------------------------------------+---------+--------------------------------------+------------+
| 3f2dc6e5-d226-47e8-b8eb-c86683236f7b | subnet1 | faabc12f-3023-4875-8983-afab7f0c391d | 10.0.0.0/8 |
+--------------------------------------+---------+--------------------------------------+------------+
Créer un réseau Self-service🔗
Depuis l'interface Brane-web🔗
- Dans la liste des réseaux, cliquer sur le bouton "Créer un nouveau réseau" ;
- Puis sélectionner la région dans laquelle créer la ressource .
- Remplir le nom de nouveau réseau pour l'identifier facilement ;
- Pour que le réseau soit utilisable, la case "Activer l'état d'administration" doit être cochée ;
- Il est possible de partager le réseau et ainsi le rendre visible aux autres projets ;
- Pour associer un sous-réseau, cocher la case "Créer un sous-réseau" ;
- Donner un nom au sous-réseau pour l'identifier facilement ;
- Indiquer l'adresse du sous-réseau avec son masque au format CIDR et préciser si ce dernier est en IPv4 ou IPv6 ;
- Il est possible d'activer ou non un serveur DHCP . Il est recommandé de l'activer.
Les options suivantes permettent de paramétrer les options du serveur DHCP:
- Annonce de la passerelle par defaut .
- L'adresse IP est optionnelle, Openstack utilisera la première IP du sous-réseau si l'adresse n'est pas explicitement définie : Par exemple pour le sous-réseau 10.123.45.0/24, l'IP 10.123.45.1 sera utilisée comme IP de gateway;
- Le champ "pool d'allocation" permet de spécifier une ou plusieurs plages d'adresses utilisables par le serveur DHCP pour fournir des adresses aux instances Openstack;
- Le champ "Serveur DNS" permet de specifier les serveurs DNS annoncées par le serveur DHCP;
- Le champ "Routes statiques" permet de specifier les routes statiques annoncées par le serveur DHCP (opetion 121) en plus de la passerelle par defaut.
- Annonce de la passerelle par defaut .
- Une fois le réseau (et eventuellement son sous-réseau) configuré, cliquer sur le bouton "Créer le réseau" ;
- La page d'information du réseau nouvellement créé sera affichée.
Depuis la CLI🔗
Création du réseau. L'option internal
permet de s'assurer que le réseau créé sera bien de type Self-service.
$ openstack network create brane-doc-self-service --internal
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2021-10-13T09:01:08Z |
| description | |
| dns_domain | None |
| id | 3fc107b6-2f8b-415a-8dc5-7d5e75a8ce35 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | False |
| is_vlan_transparent | None |
| mtu | 1500 |
| name | brane-doc-self-service |
| port_security_enabled | True |
| project_id | 34846977ba2d4758838fdf2b2315ca7c |
| provider:network_type | None |
| provider:physical_network | None |
| provider:segmentation_id | None |
| qos_policy_id | None |
| revision_number | 1 |
| router:external | Internal |
| segments | None |
| shared | False |
| status | ACTIVE |
| subnets | |
| tags | |
| updated_at | 2021-10-13T09:01:08Z |
+---------------------------+--------------------------------------+
Création du sous-réseau associé
$ openstack subnet create --subnet-range 172.27.0.0/24 --network 3fc107b6-2f8b-415a-8dc5-7d5e75a8ce35 brane-doc-self-service-subnet
+----------------------+--------------------------------------+
| Field | Value |
+----------------------+--------------------------------------+
| allocation_pools | 172.27.0.2-172.27.0.254 |
| cidr | 172.27.0.0/24 |
| created_at | 2021-10-13T09:02:52Z |
| description | |
| dns_nameservers | |
| dns_publish_fixed_ip | None |
| enable_dhcp | True |
| gateway_ip | 172.27.0.1 |
| host_routes | |
| id | 3861d6da-c7d1-458a-b6f1-1524628e8ecb |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | brane-doc-self-service-subnet |
| network_id | 3fc107b6-2f8b-415a-8dc5-7d5e75a8ce35 |
| prefix_length | None |
| project_id | 34846977ba2d4758838fdf2b2315ca7c |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2021-10-13T09:02:52Z |
+----------------------+--------------------------------------+
Avec Ansible/Terraform🔗
Un court exemple avec Terraform
resource "openstack_networking_network_v2" "brane-doc-self-service" {
name = "brane-doc-self-service"
admin_state_up = "true"
shared = "false"
}
resource "openstack_networking_subnet_v2" "brane-doc-self-service-subnet" {
name = "brane-doc-self-service-subnet"
network_id = "${openstack_networking_network_v2.brane-doc-self-service.id}"
cidr = "172.27.0.0/24"
ip_version = 4
gateway_ip = "172.27.0.254"
allocation_pool {
start = "172.27.0.10"
end = "172.27.0.199"
}
}