déploiement pour l’hébergement d’architecture cliente et mise en place du selfservice one
Post on 06-Aug-2015
275 Views
Preview:
TRANSCRIPT
Ippon Technologies © 2015
● Besoin● Chiffres● Stockage : Ceph et local● ACL et Permissions● Hooks DNS● Contextualisation● Conclusion
Sommaire
Ippon Technologies © 2015
Besoin
Besoin interne :- Industrialisation des déploiements de VMs- Industrialisation des services (avec implémentation Puppet en parallèle)- Avec solution rapidement opérationnelle
Besoin clients :- Self-service- Centralisation
Solution :- Short-list : OVirt, OpenNebula, OpenStack (+ fail récent sur CloudStack)- Choix OpenNebula pour :
- Couverture des besoins - Simplicité de déploiement- Documentation
Durée du projet : 4 mois
Ippon Technologies © 2015
Chiffres● Noeuds KVM● Utilisation OpenVSwitch
● Stockage:32 To SATA Ceph (RadosGW et RBD)
48 To Flash SSD
● RAM: 2To DDR4● 384 threads Xeon
Ippon Technologies © 2015
Stockage
Ceph :
- Images- VMs
● Configuration Core (onedatastore)
● Configuration Node (virsh+librbd)
CEPH_HOST="10.4.0.1:6789 10.4.0.3:6789 10.4.0.4:6789"CEPH_SECRET="xxxxxxxxxxxxx"CEPH_USER="opennebula"
<secret ephemeral='no' private='no'> <uuid>aaaaaaaaa-00000-sdds-fdsfds-ddsqsdq</uuid> <usage type='ceph'>
<name>client.opennebula secret</name> </usage></secret>
Local :
- Images- VMs- Contextualisation
● Configuration Core (onedatastore)
DATASTORE TEMPLATE BASE_PATH="/var/lib/one//datastores/"SHARED="NO"TM_MAD="ssh"TYPE="SYSTEM_DS"
Ippon Technologies © 2015
ACL, Permissions
VDC Client A
Client SelfService
Groupe “Client”
Serveur de Production
Groupe “Client Prod”
Ippon Technologies © 2015
ACL, Permissions
VDC Client A
Client SelfService
Groupe “Client”
Serveur de Production
Groupe “Client Prod”
Image UbuntuOwner : um-Group : um-Other : u--
Ippon Technologies © 2015
ACL, Permissions
VDC Client A
Client SelfService
Groupe “Client”
Serveur de Production
Groupe “Client Prod”
Image UbuntuOwner : um-Group : um-Other : u--
Modèle : Ubuntu SelfServiceOwner : um-Group : um-Other : u--
Ippon Technologies © 2015
ACL, Permissions
VDC Client A
Client SelfService
Groupe “Client”
Serveur de Production
Groupe “Client Prod”
Image UbuntuOwner : um-Group : um-Other : u--
Modèle : Ubuntu SelfServiceOwner : um-Group : um-Other : u--
Modèle : Ubuntu IHOwner : um-Group : um-Other : ---
Ippon Technologies © 2015
ACL, Permissions
VDC Client A
Client SelfService
Groupe “Client”
Serveur de Production
Groupe “Client Prod”
Image UbuntuOwner : um-Group : um-Other : u--
Modèle : Ubuntu SelfServiceOwner : um-Group : um-Other : u--
Modèle : Ubuntu IHOwner : um-Group : um-Other : ---
ID USER RES_VHNIUTGDCOZ RID OPE_UMAC ZONE96 @104 V----------- * ---c #0
Ippon Technologies © 2015
ACL, Permissions
VDC Client A
Client SelfService
Groupe “Client”
Serveur de Production
Groupe “Client Prod”
Image UbuntuOwner : um-Group : um-Other : u--
Modèle : Ubuntu SelfServiceOwner : um-Group : um-Other : u--
Modèle : Ubuntu IHOwner : um-Group : um-Other : ---
115 @106 V------------- * ---c #0116 @106 ----T--------- * u--- #0
ID USER RES_VHNIUTGDCOZ RID OPE_UMAC ZONE96 @104 V---------- * ---c #0
Ippon Technologies © 2015
Hooks DNS
[....]HOSTNAME=`onevm show $1 |grep ^HOSTNAME | awk -F'"' '{print $2}'`
[....]
cat<<EOF | /usr/bin/nsupdate -k ~/.key_dns/Kone.ippon-hosting.net.+157+18282.private -vserver ns1.one.ippon-hosting.netzone one.ippon-hosting.netupdate delete $HOSTNAME-$1.one.ippon-hosting.net Aupdate add $HOSTNAME-$1.one.ippon-hosting.net 60 A $ipshowsend
cat<<EOF | /usr/bin/nsupdate -k ~/.key_dns/Kone.ippon-hosting.net.+157+18282.private -vserver ns1.one.ippon-hosting.netzone one.ippon-hosting.netupdate delete one-$1.one.ippon-hosting.net Aupdate add one-$1.one.ippon-hosting.net 60 A $ipshowsendEOF[.....]
/etc/one/oned.conf
VM_HOOK = [ name = "IPPONHOSTING_HOOK", on = "CREATE", command = "ih_dns_hooks_sh", arguments = "$ID" ]
/var/lib/one/remotes/hooks/ih_dns_hooks_sh
Ippon Technologies © 2015
Contextualisation● Debian : opennebula-context- Montage d’une ISO dans /mnt - Script init.sh
● Ubuntu : cloud-init
distrib=`cat /etc/issue |awk '{print $3}'`if [ $distrib -eq '7' ] ; then name_distrib="wheezy"elif [ $distrib -eq '8' ] ; then name_distrib="jessie"ficd /tmpwget https://apt.puppetlabs.com/puppetlabs-release-$name_distrib.debdpkg -i puppetlabs-release-$name_distrib.debapt-get updateapt-get install -y puppet[...........]
#cloud-configchpasswd: { expire: False }password: testfqdn: $HOSTNAME-$VMID.one.ippon-hosting.netruncmd:- [ usermod, -l, atomes, ubuntu ]- [ groupmod, -n, atomes, ubuntu ]- [ usermod, -d, /home/atomes, -m, atomes ]- [ perl, -pi, -e, 's/ubuntu/atomes/g;', /etc/sudoers.d/90-cloudimg-ubuntu ]apt_update: trueapt_sources:- source: 'deb http://apt.puppetlabs.com precise dependencies'- source: 'deb http://apt.puppetlabs.com precise main'[...............]
Ippon Technologies © 2015
Conclusion
+● Interface intuitive pour les non-experts● Documentation● Système de VDC :
○ permissions et héritages○ quotas et sous-quotas
● Production dans un contexte multi tenants en 4 mois● Sécurité (Antispoofing)● Facilité d’Upgrade● 3 minutes pour créer une VM de production
-● Identification d’un disque dans une VM (UUID)● pas de facturation à la consommation● Pas d’isolation PVLAN (Openvswitch)
Coming next:Migration de tous nos serveurs des infras legacy !KVM, Xen Server, … et bare metal
Many to … just !
top related