xebicon'16 : wescale - dns as a service, the openstack way. par pascal edouard, cloud runner...
TRANSCRIPT
@xebiconfr #xebiconfr
Openstack :
Designate en ActionPascal
Edouard
@xebiconfr #xebiconfr
0
2
Pascal Edouard@pascal_ed
About Me
@xebiconfr #xebiconfr
0 En quelque mots…
3
Un ensemble de modules, dont chacun est dédiés à une tache précise, (gestion de machines virtuelles, des réseaux, supervision, etc.).
@xebiconfr #xebiconfr
À la découverte d’Openstack- Historique- Modules- Architecture
1
@xebiconfr #xebiconfr
1
Historique :
- Compute:- 2008 : Nebula- 2010 : Nova
À la découverte d’Openstack
5
- Stockage:- 2009 : Swift
- 2010 : Openstack
@xebiconfr #xebiconfr
1 Architecture
6
@xebiconfr #xebiconfr
1
7
Architecture
OS Controller
Nova Keystone neutron
Compute 1
nova-compute
Storage
Compute 2
nova-compute
Compute 3
nova-compute
Compute N
nova-compute…….
@xebiconfr #xebiconfr
1 Autres Composants, “as a Service”
8
Database Backup
Baremetal DNS Rating
Hadoop
@xebiconfr #xebiconfr
Interface d’OpenStack :- Réseau- Router- VM- Clefs d’accès
1
@xebiconfr #xebiconfr
DNS as a Service2
@xebiconfr #xebiconfr
2
Projet d’application web :
- Déploiement automatisé sur Openstack
- Fournir un accès aux développeurs
- Déploiement continu
Context de besoin
11
@xebiconfr #xebiconfr
2
Pourquoi utiliser Designate ?
• Reattribution d’adresse IP à chaque déploiement
• DNS est compliqué à mettre en place
• Demande d’entrée DNS à l’équipe Système.
• DNS reste essentiel à presque toutes les applications tournant sur Openstack
Domain Name System
12
@xebiconfr #xebiconfr
2 Designate
13
@xebiconfr #xebiconfr
2 Designate
14
- Control les accès à la base de données
- Fait une première validation les requêtes
@xebiconfr #xebiconfr
2 Designante
15
- Liste les backend utilisés par Designate (PowerDNS, Bind9, NSD, DynECT)
- Définie les pools de serveur
@xebiconfr #xebiconfr
Designate
16
2
- Gère la communication avec le serveur DNS
- DNS Notify - AXFR (Zone transfer) - Encapsule les protocols
DNS
@xebiconfr #xebiconfr
Déploiement d’une Application
Consul
3a
@xebiconfr #xebiconfr
1b
Application Web démo :
- 2 machines virtuelles en HA
- Loadbalancer en écoute sur le port 80
- Déploiement avec Heat
- Association d’un IP flottante
- Nom de domaine vers le site
Besoin - Infrastructure
Tenant One
VM
App
VM
App
Load Balancer
18
@xebiconfr #xebiconfr
Tenant Team-Ops
VM
VM
3a Déploiement avec Consul
19
Tenant One
consul server
Designate Server
VM
consul event
App
VM
consul event
App
Load Balancer
OS Controller
Nova API Keystone API …
DNS server
@xebiconfr #xebiconfr
3a Déploiement avec Consul
20
Tenant One
DNS server
VM
consul event
App
VM
consul event
App
Load Balancer
OS Controller
Keystone API …
Tenant Team-Ops
VM
VM
consul server
Designate Server
Nova API
@xebiconfr #xebiconfr
3a Déploiement avec Consul
21
Tenant One
VM
consul event
App
VM
consul event
App
Load Balancer
Fire event - nom de l’event - payload
DNS server
OS Controller
Keystone API …
Tenant Team-Ops
VM
VMVMVM
consul server
Designate Server
Nova API
@xebiconfr #xebiconfr
3a Déploiement avec Consul
22
Tenant One
VM
consul event
App
VM
consul event
App
Load Balancer
DNS server
OS Controller
Keystone API …
Tenant Team-Ops
VM
VMVMVM
consul server
payload - floating IP - Tenant ID
- Designate - Keystone - Nova - consul watch
Designate Server
Nova API
@xebiconfr #xebiconfr
3a Déploiement avec Consul
23
OS Controller
Nova API Keystone API …
Tenant Team-Ops
VM
VMVMVM
consul server
création DNS : - *.tenantone.wescale.fr.
Authentification Récupération nom du tenant
Tenant One
VM
consul event
App
VM
consul event
App
Load Balancer
DNS server
Designate Server
@xebiconfr #xebiconfr
Déploiement d’une Application
Heat
3b
@xebiconfr #xebiconfr
3b Déploiement avec Heat
25
- Permet la gestion des ressources Openstack
- Module SoftwareConfig :- Installation application- Execution de scripts
- Autorisation par Keystone
@xebiconfr #xebiconfr
3b Conclusion
26
- Infrastructure as a Service : Openstack
- Déploiement Application Web
- Besoin DNS pour les développeurs
- Déploiement application Web :- Enregistrement DNS :
- avec consul- avec Heat
@xebiconfr #xebiconfr
Merci et bon déploiement