Initiation à l'orchestration de conteneurs avec Kubernetes

بواسطة: Coursera

Overview

Dans ce cours de 2 heures, basé sur un projet, vous découvrirez pas à pas les notions de base et le fonctionnement de l'orchestrateur Kubernetes (k8s).

A la fin de ce projet guidé, vous serez en mesure de:
- Comprendre l'orchestration de conteneurs et son intérêt
- D'identifier les différents objets principaux de Kubernetes
- Exécuter les commandes de base de Kubernetes grâce à kubectl
- Créer et manipuler des objets Kubernetes
- Déployer une application dans Kubernetes
- Exposer une application déployée dans Kubernetes pour la rendre accessible en externe
- Utiliser des variables d'environnement
- Mettre à jour une version d'application déployée dans Kubernetes à chaud
- Mettre à l'échelle une application déployée dans Kubernetes
- Exporter des ressources en yaml
- Faire une supervision basique et récupérer les logs d'une application déployée dans Kubernetes

Ce projet guidé est recommandé aux débutants ayant besoin de comprendre la technologie Kubernetes en partant de la base. Il vous donnera une compréhension suffisante de cette technologie d'orchestration de conteneurs, vous permettant plus tard d’atteindre des niveaux de connaissance et d’expertise beaucoup plus élevés.
Une connaissance préalable de Docker et du Yaml est recommandée pour profiter au maximum de ce projet guidé.

Syllabus

  • Aperçu du projet
    • Dans ce cours de 2 heures, basé sur un projet, vous découvrirez pas à pas les notions de base et le fonctionnement de l'orchestrateur Kubernetes (k8s).

Taught by

Viranson HOUNNOUVI

Initiation à l'orchestration de conteneurs avec Kubernetes
الذهاب الي الدورة

Initiation à l'orchestration de conteneurs avec Kubernetes

بواسطة: Coursera

  • Coursera
  • مدفوعة
  • French
  • متاح شهادة
  • متاح في أي وقت
  • beginner
  • French
8.1.2PHP Version352msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (218ms)
    • Application (133ms)
    • 1 x Booting (62.06%)
      218.19ms
      1 x Application (37.69%)
      132.53ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed8.4ms
      • select * from `courses` where `slug_ar` = 'initiation-à-l\'orchestration-de-conteneurs-avec-kubernetes' limit 1
        6.9ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. initiation-à-l'orchestration-de-conteneurs-avec-kubernetes
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-07 18:55:11' where `id` = 2992
        360μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-07 18:55:11
        • 1. 2992
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (64)
        240μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        200μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (106) and `institutions`.`deleted_at` is null
        240μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        220μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2983 limit 1
        240μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2983
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        I7vLvLJwVXlmoeL5bL6XwIccEC5R0k2yP42k0b6K
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/initia...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/initiation-%C3%A0-l%27orchestration-de-conteneurs-avec-kubernetes
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "52.14.75.150" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "92cbbcde4d8ed911-EWR" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "x-forwarded-for" => array:1 [ 0 => "52.14.75.150" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "52.14.75.150" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "92cbbcde4d8ed911-EWR" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "52.14.75.150" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "36086" "REMOTE_ADDR" => "104.23.190.241" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/initiation-%C3%A0-l%27orchestration-de-conteneurs-avec-kubernetes" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744052111.2899 "REQUEST_TIME" => 1744052111 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Mon, 07 Apr 2025 18:55:11 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InFzZ055VU5MUXNNcVk3enVEMkwvaVE9PSIsInZhbHVlIjoiZnkvcUlLSzhNeVhSeTVzWTJ5UHdjU3Y2akM0dHdQSXBPSEpseFJ0ZVdLRmpwV2IvblZvN0FZNlRkdVUzRWRadktXSEdldjR2aUJLUHM2TGhmMUZydHpSalBxV3ZvQ00yQXdDcGowLzZwR2RxazRmcE0vYnQ3OVhiK3RMMUhuYXciLCJtYWMiOiJjMmM1ZDdjOTFlMmYwOTFkMTdmZDZkMjNkYjBiOWFkNDc3OTYzMTEyYzVjZDgwMjFlYTQ4NzZmNzk1NWM1YWY4IiwidGFnIjoiIn0%3D; expires=Mon, 07 Apr 2025 20:55:11 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6InFzZ055VU5MUXNNcVk3enVEMkwvaVE9PSIsInZhbHVlIjoiZnkvcUlLSzhNeVhSeTVzWTJ5UHdjU3Y2akM0dHdQSXBPSEpseFJ0ZVdLRmpwV2IvblZvN0FZNlRkdVUzRWRadktXSEdld" 1 => "laravel_session=eyJpdiI6IktKZHdyaFFibmd3U3dZamp5RlBZdFE9PSIsInZhbHVlIjoicS8raXVpSkZwamVTS3U0bGpxYWxYaGhUZjJKbFE4aFZFWTh5aXlhWnJyRitjMkpKUlk5aE5SK095ZXd1by9paC9OVzlHZ1Bxb0xlaWR4Mi82R3UwcWFneWJiZDZmMDd1bWFoZlY5QWRsRDRucmdmallnRzlsanB5M2h2VmVMckUiLCJtYWMiOiJiNTBhYjQ4YjVlZWU2N2UzMDZlYzhiYjBiODNkOTliNjVhMWFhOTcwMWI1YjU4OWVjYjBhMDhmMGI0NmM1Mjg1IiwidGFnIjoiIn0%3D; expires=Mon, 07 Apr 2025 20:55:11 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IktKZHdyaFFibmd3U3dZamp5RlBZdFE9PSIsInZhbHVlIjoicS8raXVpSkZwamVTS3U0bGpxYWxYaGhUZjJKbFE4aFZFWTh5aXlhWnJyRitjMkpKUlk5aE5SK095ZXd1by9paC9O" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6InFzZ055VU5MUXNNcVk3enVEMkwvaVE9PSIsInZhbHVlIjoiZnkvcUlLSzhNeVhSeTVzWTJ5UHdjU3Y2akM0dHdQSXBPSEpseFJ0ZVdLRmpwV2IvblZvN0FZNlRkdVUzRWRadktXSEdldjR2aUJLUHM2TGhmMUZydHpSalBxV3ZvQ00yQXdDcGowLzZwR2RxazRmcE0vYnQ3OVhiK3RMMUhuYXciLCJtYWMiOiJjMmM1ZDdjOTFlMmYwOTFkMTdmZDZkMjNkYjBiOWFkNDc3OTYzMTEyYzVjZDgwMjFlYTQ4NzZmNzk1NWM1YWY4IiwidGFnIjoiIn0%3D; expires=Mon, 07-Apr-2025 20:55:11 GMT; path=/XSRF-TOKEN=eyJpdiI6InFzZ055VU5MUXNNcVk3enVEMkwvaVE9PSIsInZhbHVlIjoiZnkvcUlLSzhNeVhSeTVzWTJ5UHdjU3Y2akM0dHdQSXBPSEpseFJ0ZVdLRmpwV2IvblZvN0FZNlRkdVUzRWRadktXSEdld" 1 => "laravel_session=eyJpdiI6IktKZHdyaFFibmd3U3dZamp5RlBZdFE9PSIsInZhbHVlIjoicS8raXVpSkZwamVTS3U0bGpxYWxYaGhUZjJKbFE4aFZFWTh5aXlhWnJyRitjMkpKUlk5aE5SK095ZXd1by9paC9OVzlHZ1Bxb0xlaWR4Mi82R3UwcWFneWJiZDZmMDd1bWFoZlY5QWRsRDRucmdmallnRzlsanB5M2h2VmVMckUiLCJtYWMiOiJiNTBhYjQ4YjVlZWU2N2UzMDZlYzhiYjBiODNkOTliNjVhMWFhOTcwMWI1YjU4OWVjYjBhMDhmMGI0NmM1Mjg1IiwidGFnIjoiIn0%3D; expires=Mon, 07-Apr-2025 20:55:11 GMT; path=/; httponlylaravel_session=eyJpdiI6IktKZHdyaFFibmd3U3dZamp5RlBZdFE9PSIsInZhbHVlIjoicS8raXVpSkZwamVTS3U0bGpxYWxYaGhUZjJKbFE4aFZFWTh5aXlhWnJyRitjMkpKUlk5aE5SK095ZXd1by9paC9O" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "I7vLvLJwVXlmoeL5bL6XwIccEC5R0k2yP42k0b6K" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/initiation-%C3%A0-l%27orchestration-de-conteneurs-avec-kubernetes" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]