Schița de curs
Ziua 1 – Containere și Gestionarea Imaginilor
Introducere în Platformele de Containere
- Implementarea tradițională a aplicațiilor comparată cu cea bazată pe containere
- Containere și mașini virtuale
- Runtimes de containere și motoare de containere
- Rolul Docker, Kubernetes și OpenShift
- Arhitecturi comune ale platformelor de containere
- Fluxuri de lucru pentru dezvoltare, testare și producție
Lucrul cu Containere
- Rularea și gestionarea containerelor
- Ciclul de viață al containerelor
- Pornirea, oprirea și eliminarea containerelor
- Executarea comenzilor în interiorul containerelor
- Variabile de mediu
- Maparea porturilor
- Jurnalele containerelor
- Utilizarea resurselor și inspecția proceselor
Construirea Imaginilor de Containere
- Structura și straturile imaginilor
- Crearea Dockerfiles și Containerfiles
- Selectarea imaginilor de bază
- Adăugarea dependențelor aplicațiilor
- Configurarea punctelor de intrare și a comenzilor
- Cache-ul imaginilor
- Reducerea dimensiunii imaginilor
- Construirea imaginilor reproductibile
Registre de Containere
- Registre publice și private
- Etichetarea și versionarea imaginilor
- Încărcarea și descărcarea imaginilor
- Autentificarea imaginilor
- Retenția și curățarea imaginilor
- Considerații de bază pentru securitatea imaginilor
Rețeaua și Stocarea Containerelor
- Concepte de rețea pentru containere
- Rețea bridge
- Expunerea porturilor
- Comunicarea între containere
- Mount-uri bind și volume
- Date persistente ale containerelor
- Considerații pentru backup
Exerciții Practice
- Rulează și inspectează containere
- Construiește o imagine de aplicație
- Configurează porturi și variabile de mediu
- Publică o imagine într-un registru
- Stochează date persistente în afara unui container
Ziua 2 – Arhitectura Kubernetes și Sarcini de Lucru
Fundamentele Kubernetes
- Scopul orchestrării containerelor
- Arhitectura Kubernetes
- Componentele planului de control
- Noduri de lucru
- Serverul API
- Scheduler
- Controlere
- Starea clusterului și starea dorită
- Comunicarea cu clusterul folosind kubectl
Resurse Kubernetes
- Pods
- ReplicaSets
- Deployments
- Namespaces
- Etichete și adnotări
- Selectori
- Definiții declarative ale resurselor
- Manifeste YAML
Implementarea Aplicațiilor
- Crearea și gestionarea Deployments
- Scalarea sarcinilor de lucru
- Actualizarea imaginilor containerelor
- Actualizări în cascadă
- Rollbacks
- Istoricul implementărilor
- Repornirea sarcinilor de lucru
- Gestionarea replicilor aplicațiilor
Configurarea Aplicațiilor
- ConfigMaps
- Secrets
- Variabile de mediu
- Fișiere de configurare
- Separarea codului aplicației de configurare
- Gestionarea setărilor specifice mediului
Gestionarea Resurselor
- Cerințe de CPU și memorie
- Limite de CPU și memorie
- Cote de resurse
- Intervale de limită
- Implicații ale planificării
- Diagnosticarea defecțiunilor legate de resurse
Exerciții Practice
- Implementează o aplicație containerizată
- Creează și actualizează manifeste Kubernetes
- Scalează o aplicație
- Efectuează o actualizare în cascadă și un rollback
- Configurează aplicația folosind ConfigMaps și Secrets
- Aplică cerințe și limite de resurse
Ziua 3 – Rețeaua, Stocarea și Securitatea în Kubernetes
Rețeaua Kubernetes
- Modelul de rețea al clusterului
- Comunicarea între poduri
- Descoperirea serviciilor
- DNS în interiorul clusterului
- Servicii ClusterIP
- Servicii NodePort
- Servicii LoadBalancer
- Concepte Ingress
- Modele de expunere a aplicațiilor
Politici de Rețea
- Controlul traficului între sarcini de lucru
- Reguli de intrare și ieșire
- Controlul traficului bazat pe namespace
- Testarea conectivității rețelei
- Depanarea comunicării serviciilor
Stocare Persistente
- Stocare efemeră și persistentă
- Volume
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Aprovizionare dinamică
- Moduri de acces
- Politici de recuperare
- Stocare pentru aplicații cu stare
Controlul Accesului în Kubernetes
- Concepte de autentificare și autorizare
- Controlul Accesului Bazat pe Roluri (RBAC)
- Roluri și ClusterRoles
- RoleBindings și ClusterRoleBindings
- Conturi de serviciu
- Acces cu privilegii minime
- Inspecția permisiunilor efective
Securitatea Sarcinilor de Lucru
- Contexturi de securitate
- Rularea containerelor ca non-root
- Capabilități Linux
- Sisteme de fișiere read-only
- Gestionarea secretelor
- Proveniența imaginilor
- Riscuri comune de configurare
Exerciții Practice
- Expune o aplicație folosind servicii Kubernetes
- Configurează ingress
- Restricționează traficul folosind o politică de rețea
- Asigură stocare persistentă
- Configurează permisiuni RBAC
- Rulează o sarcină de lucru cu un context de securitate adecvat
Ziua 4 – Lucrul cu Mediile OpenShift
Introducere în OpenShift
- OpenShift ca platformă de aplicații bazată pe Kubernetes
- Resurse Kubernetes într-un mediu OpenShift
- Arhitectura clusterului OpenShift
- Proiecte și namespace-uri
- Utilizatori și conturi de serviciu ale platformei
- Lucrul cu consola web
- Lucrul cu CLI-ul OpenShift
Gestionarea Proiectelor și a Accesului
- Crearea și gestionarea proiectelor
- Atribuirea permisiunilor utilizatorilor
- Roluri la nivel de proiect
- Acces administrativ
- Cote de resurse
- Intervale de limită
- Conturi de serviciu
- Revizuirea resurselor proiectului
Implementarea Aplicațiilor
- Implementarea imaginilor containerelor
- Crearea sarcinilor de lucru ale aplicațiilor
- Gestionarea implementărilor
- Scalarea aplicațiilor
- Actualizarea versiunilor aplicațiilor
- Rollbacks
- Gestionarea configurației aplicațiilor
- Lucrul cu secrete
Expunerea Aplicațiilor
- Servicii în OpenShift
- Rute
- Concepte TLS
- Acces intern și extern la aplicații
- Nume de gazdă și certificate
- Depanarea problemelor de rută și serviciu
Stocarea în OpenShift
- Cereri de Volume Persistente
- StorageClasses
- Atașarea stocării la sarcini de lucru
- Sarcini de lucru cu stare
- Permisiuni de acces la stocare
- Depanarea montării volumelor
Planificarea și Gestionarea Nodurilor
- Etichete și selectori
- Selectori de noduri
- Taints și toleranțe
- Concepte de afinitate și anti-afinitate
- Plasarea sarcinilor de lucru
- Cordonarea și drenarea nodurilor
- Considerații pentru întreținerea nodurilor
Exerciții Practice
- Accesează un mediu OpenShift
- Creează și configurează un proiect
- Implementează și expune o aplicație
- Configurează accesul utilizatorilor și conturilor de serviciu
- Atașează stocare persistentă
- Scalează și actualizează o sarcină de lucru în execuție
Ziua 5 – Operațiuni, Monitorizare și Depanare
Monitorizarea Platformei
- Monitorizarea sănătății clusterului și a aplicațiilor
- Metrici de resurse
- Sănătatea nodurilor
- Starea sarcinilor de lucru
- Capacitatea și utilizarea resurselor
- Identificarea constrângerilor de performanță
Jurnale și Evenimente
- Jurnalele containerelor
- Jurnalele podurilor
- Jurnalele anterioare ale containerelor
- Evenimente Kubernetes
- Mesaje ale aplicațiilor și platformei
- Filtrarea și interpretarea datelor operaționale
Verificări de Sănătate
- Probe de pornire
- Probe de pregătire
- Probe de viață
- Proiectarea punctelor de final de sănătate utile
- Diagnosticarea defecțiunilor probelor
- Prevenirea repornirilor inutile ale aplicațiilor
Depanarea Sarcinilor de Lucru
- Poduri în așteptare
- Defecțiuni la descărcarea imaginilor
- Bucle de crash
- Variabile de mediu configurate greșit
- Montări eșuate
- Resurse insuficiente
- Erori de permisiune
- Probleme de conectivitate a serviciilor și rutelor
- Probleme DNS
- Defecțiuni la pornirea aplicațiilor
Securitatea Operațională
- Revizuirea permisiunilor
- Utilizarea conturilor de serviciu
- Gestionarea sigură a credentialelor
- Practici de securitate a imaginilor
- Izolarea rețelei
- Auditarea accesului la platformă
- Aplicarea principiului privilegiului minim
Întreținerea și Gestionarea Ciclului de Viață
- Verificări de rutină ale platformei
- Întreținerea nodurilor
- Considerații pentru backup-ul aplicațiilor
- Backup-ul configurației
- Planificarea actualizărilor
- Gestionarea schimbărilor
- Testarea actualizărilor
- Planificarea rollback-urilor
- Concepte de recuperare în caz de dezastru
Atelier Practic Final
Participanții completează un scenariu operațional de la un capăt la altul:
- Construiește și etichetează o imagine de container.
- Publică imaginea într-un registru.
- Implementează aplicația în Kubernetes sau OpenShift.
- Configurează setările și credentialele aplicației.
- Expune aplicația.
- Atașează stocare persistentă.
- Configurează permisiuni de acces.
- Adaugă verificări de sănătate.
- Scalează și actualizează aplicația.
- Diagnosticează și rezolvă o defecțiune introdusă.
Formatul Cursului
- Prelegeri interactive și discuții tehnice.
- Demonstrații ale instructorului.
- Exerciții practice extinse.
- Ateliere de administrare și depanare bazate pe scenarii.
- Lucrări practice în medii de containere, Kubernetes și OpenShift.
Opțiuni de Personalizare a Cursului
- Cursul poate fi adaptat la infrastructura existentă a participanților, furnizorul de cloud și instrumentele de containere.
- Echilibrul între subiectele Docker, Kubernetes și OpenShift poate fi ajustat în funcție de experiența echipei.
- Exercițiile practice pot fi personalizate în funcție de aplicațiile organizației, procesele de implementare și cerințele operaționale.
Notă de Marcă
OpenShift este o marcă înregistrată a Red Hat, Inc. Acest training dezvoltat independent nu este afiliat, sponsorizat sau autorizat de Red Hat.
Cerințe
Participanții ar trebui să aibă:
- Experiență în utilizarea liniei de comandă Linux.
- Cunoștințe de bază de administrare a sistemelor sau DevOps.
- O înțelegere generală a conceptelor de rețea.
- Familiaritate cu procesele de implementare a software-ului.
Experiența anterioară cu Docker, Kubernetes sau OpenShift este utilă, dar nu este obligatorie.
Mărturii (7)
Explicațiile lui Reda au simplificat în mare măsură înțelegerea
Eric Van Wyk
Curs - Docker, Kubernetes and OpenShift 3 for Administrators
Tradus de catre o masina
Laboratoarele au fost cele mai bune. Foarte practice și oferă experiență de manipulare directă. Personal, cred că este cel mai eficient mod de a înțelege cu adevărat cursul și de a aplica conceptele abordate.
Hishaam Johnstone
Curs - Docker, Kubernetes and OpenShift 3 for Administrators
Tradus de catre o masina
Mi-a plăcut disponibilitatea de a ajuta și de a explica mai mult când era neclar
Letlotlo Miffi
Curs - Docker, Kubernetes and OpenShift 3 for Administrators
Tradus de catre o masina
Adriano a studiat subiectul foarte profund, ceea ce este stilul pe care îl prefer în general: mai puțin despre comenzi, mai mult despre mecanismul din spatele acestora. Scenariile discutate au fost bine susținute de exemple practice, ceea ce a ajutat foarte mult la înțelegerea materialei prezentate.
Mariusz BANASZCZYK - Sopra Steria
Curs - Docker, Kubernetes and OpenShift for Administrators
Tradus de catre o masina
Cunoaștere profundă a lui Adriano. Explicație a conceptelor de bază
Tomasz Szalankiewicz - LPP SA
Curs - Docker, Kubernetes and OpenShift for Administrators
Tradus de catre o masina
Mi-a plăcut în general prezentatorul.
Josif Kovacevic - ANZ
Curs - Docker, Kubernetes and OpenShift for Administrators
Tradus de catre o masina
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Curs - Docker, Kubernetes and OpenShift for Administrators
Tradus de catre o masina