Schița de curs
1. Introducere în OpenStack
Istoria norului și OpenStack
Caracteristicile norului
Modele de cloud
privat, public, hibrid
la fața locului, IaaS, PaaS, SaaS
Implementări de cloud public și privat bazate pe OpenStack
Distribuții open source și comerciale OpenStack
OpenStack modele de implementare
OpenStack ecosistem
Module
Instrumente de bază
Integrări
OpenStack ciclul de viață
OpenStack certificare
OpenStack lab (VM) pentru acest curs
2. Atelier de administrare practică OpenStack
Noțiuni de bază pentru a cunoaște OpenStack
Componentele OpenStack (Keystone, Glance, Nova, Neutron, Cinder, Swift, Heat)
Interacțiunea cu norul OpenStack
Daemonii OpenStack și fluxul de comunicare API
Keystone - Serviciul de gestionare a identității
Arhitectura Keystone
Autentificare și backend-uri disponibile
Tipuri de jetoane și gestionarea jetoanelor
Autorizare în OpenStack - roluri și oslo.policy
Resursele Keystone - domenii, proiecte, utilizatori
Openrc și clouds.yaml - Configurarea clienților CLI
OpenStack catalogul de servicii
Adăugarea unui nou serviciu OpenStack
Sistemul de cote în OpenStack
Glance - Serviciul de imagini
Imagini ajustate în cloud
Caracteristicile imaginii (proprietăți, metadate, format, container)
Încărcarea și descărcarea imaginii
Partajarea imaginilor
Magazine de imagini Glance
Imagini protejate
Gestionați cotele pentru serviciul de imagini
Verificarea serviciilor Glance
Neutron - Networking
Arhitectura și serviciile Neutron
Plugin-ul ML2
Networking în compute node - analiză
Networking concepte și instrumente utilizate de Neutron
Tipuri de resurse de rețea Neutron de bază
Gestionați rețelele chiriașilor, subrețele,
Gestionați grupurile și regulile de securitate
Traseu Est-Vest
Spații de nume de rețea
Gestionarea rețelelor externe/de furnizori
Traseu nord-sud
Gestionarea IP-urilor flotante
Controlul accesului bazat pe roluri în Neutron
Gestionați cotele de rețea
Aspecte interne ale SDN și NFV (iptables, ip route, OVS)
Depanarea de bază a rețelei (namespaces, tcpdump etc.)
Networking cote
Verificarea serviciilor Neutron
Nova - Serviciu de calcul
Interfețe cu hipervizoarele
Gestionarea perechilor de chei
Managementul aromei
Aromele și topologia CPU
Parametrii instanței
Crearea unei instanțe
Verificarea instanțelor generate
Instantaneu
Gestionarea instanțelor
Redimensionarea instanțelor
Atribuirea de IP-uri flotante
Consola interactivă și jurnalul consolei
Atribuirea grupurilor de securitate
Elementele interne ale grupurilor de securitate și caracteristicile de securitate a porturilor (iptables)
Componentele interne ale routerelor L3
Calculați cotele
Obținerea de statistici de la Nova
API de plasare și Nova Cells v2
API de plasare și programarea instanțelor
Comenzi client API de plasare
Verificarea serviciilor Nova
Cenușăreasa - Bloc de depozitare
Parametrii de volum
Crearea volumului
Gestionați volumul
Atașarea volumului la instanța Nova
Gestionarea instantaneelor de volum
Gestionarea copiilor de rezervă de volum
Aspecte interne ale instantaneelor și backup-urilor în Cinder
Transferul de volume între proiecte
Restaurarea copiilor de rezervă
Gestionarea cotelor de volum
Adăugarea unui nou backend de stocare
QoS în Cinder
backend-uri de stocare LVM, matrice de stocare și Ceph
Ceph în OpenStack
Integrarea Ceph și Cinder
GoPractici pentru implementările Ceph
Verificarea serviciilor Cinder
Barbican - Cheia Management Serviciu
Arhitectura Barbican
Stocarea frazelor de trecere
Generarea și stocarea cheilor de criptare simetrică
Mecanisme de criptare a volumului
Configurarea tipului de stocare Cinder pentru criptarea volumelor
Limitări ale criptării volumului
Stocarea pachetelor de certificate X.509
Swift - Stocarea obiectelor
Swift componente și procese
Gestionarea containerelor și a obiectelor
Gestionarea listelor de control al accesului
Configurarea expirării obiectelor
Inelul și politicile de stocare
Monitorizarea spațiului de stocare disponibil
Stabilirea cotelor
Verificarea serviciilor Swift
Căldură - Orchestrare
Șablonul de orchestrare Heat și componentele sale
Crearea stivei de căldură
Verificare a acumulatorului de căldură
Actualizarea stivei de căldură
Verificarea serviciilor de termoficare
Depanare de bază
Analiza fișierelor jurnal
Jurnalizare centralizată
Depanarea interogărilor clientului OpenStack
Gestionarea bazei de date OpenStack
Extragerea de informații din bazele de date de servicii
Copie de rezervă OpenStack
Analizarea stării nodurilor de calcul
Analizarea stării instanței
Depanarea instanțelor la nodul de calcul (libvirt)
Analiza brokerului AMQP (RabbitMQ)
Depanare RabbitMQ
Servicii de metadate
Modul general de diagnosticare a problemelor OpenStack
Depanarea problemelor de rețea
Depanarea performanței rețelei
Copie de rezervă și recuperare a instanței
2. Subiecte avansate
Octavia - Echilibrarea sarcinii ca serviciu
Arhitectura
Obiecte și fluxul de cereri
Aromele Octavia
Zonele de disponibilitate Octavia
Crearea echilibrului de sarcină HTTP
Crearea echilibrului de sarcină TCP
Crearea echilibrului de sarcină HTTPS passthrough (HTTPS passthrough load balancer)
Ascultători, pool-uri și monitoare de sănătate
Echilibrarea sarcinii de nivel 7 în Octavia
Crearea imaginii Amphora
Failover LB
Detalii despre Networking și monitorizare
Depanarea Octavia
Considerații hardware și planificarea capacității
Hardware de calcul
Proiectarea rețelei
Design de depozitare
Dimensionarea aromei
Supraangajarea resurselor
Plan de control foarte disponibil
Servicii HA în OpenStack
Baza de date HA
Coadă de mesaje HA
Implementări Active-Active vs Active-Pasive
Implementări multi-regiune
Filtre de partiționare a norilor și de planificare
De ce și cum se implementează partițiile cloud (host-aggregate)
Filtrele de programare Nova
Scufundarea în codul filtrului's
Migrarea sarcinii de lucru
Migrarea la rece și live
Reglaj de migrare live
Exerciții de migrare și depanare
Politici și autorizații în OpenStack
Oslo.policy
Crearea unui nou rol semnificativ cu fișiere de politici
Verificarea accesului la API pentru un anumit utilizator
Rețele în profunzime OpenStack (SDN) (2-3h)
Tipuri de rețele (locală, flat, vlan, vxlan, gre)
Fluxul și arhitectura detaliată a rețelei în diverse implementări neutron
Traficul Est-Vest în rețelele chiriașilor
Traficul nord-sud în rețelele de închiriere
Traficul în cadrul implementărilor doar pentru furnizori
Plugin-uri Neutron
Linux Pod
Open vSwitch
Depanare și exerciții OVS
Depanarea grupurilor de securitate (iptables, tcpdump)
Ajustări de securitate a porturilor și gestionarea vIP
Rutere virtuale distribuite
LBaaS + proiectul Octavia
VPNaaS
OpenStack monitorizare și telemetrie
Serviciul de ceilometru
Monitorizare externă
Avansează caracteristicile cloud/hypervisor
Arhitectură CPU pinning / NUMA
SR-IOV
Cloud-init și personalizarea imaginii
Serviciul de metadate
Obținerea de informații de la serviciul de metadate
Backend-uri de stocare în bloc
LVM
Ceph RBD
Aparate fizice
Considerații privind rețeaua de stocare
Actualizare OpenStack
Strategii și proceduri de actualizare
Actualizare fără timp de întrerupere
Aprovizionare bare-metal cu OpenStack
Modul ironic
Conceptele de Undercloud și Overcloud
Diverse exerciții de depanare OpenStack cluster
Exemple de sarcini de examinare
Viitorul OpenStack