Introduction to Containers, Kubernetes and OpenShift

بواسطة: edX

Overview

Please Note: Learners who successfully complete this IBM course can earn a skill badge — a detailed, verifiable and digital credential that profiles the knowledge and skills you’ve acquired in this course. Enroll to learn more, complete the course and claim your badge!

In this course designed for beginners, You will learn how to build cloud native applications using current containerization tools and technologies such as containers, Docker, container registries, Kubernetes, OpenShift, and Istio. And also how to deploy and scale your applications in any public, private, or hybrid cloud.

By the end of the course, you’ll be able to build a container image, then deploy and scale your container on the cloud using OpenShift.

If you understand basic cloud and programming concepts, and your career path includes roles such as cloud developer, cloud architect, cloud system engineer, DevOps engineer, and cloud networking specialist, this course is for you!

Syllabus

Module 1

  • Introduction to containers
  • Introduction to Docker
  • Building container images
  • Using container registries
  • Running containers

Module 2

  • Understanding container orchestration
  • Understanding Kubernetes architecture
  • Introduction to Kubernetes objects
  • Using basic Kubernetes objects
  • Using the kubectl command
  • Leveraging Kubernetes

Module 3

  • Using ReplicaSets
  • Using autoscaling
  • Understanding rolling updates
  • Understanding ConfigMaps and secrets
  • Using service bindings

Module 4 - The Kubernetes ecosystem

  • The Kubernetes Ecosystem
  • Introduction to Red Hat OpenShift
  • Red Hat OpenShift and Kubernetes
  • Builds
  • Operators
  • Istio

*Module 5 * - Final Project

Final exam

Taught by

Alex Parker, Upkar Lidder and Heather Nelson

Introduction to Containers, Kubernetes and OpenShift
الذهاب الي الدورة

Introduction to Containers, Kubernetes and OpenShift

بواسطة: edX

  • edX
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • beginner
  • English
8.1.2PHP Version310msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (197ms)
    • Application (112ms)
    • 1 x Booting (63.49%)
      196.58ms
      1 x Application (36.26%)
      112.28ms
      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 executed5.24ms
      • select * from `courses` where `slug_ar` = 'introduction-to-containers,-kubernetes-and-openshift' limit 1
        3.57ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. introduction-to-containers,-kubernetes-and-openshift
        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-19 22:19:30' where `id` = 989
        720μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-19 22:19:30
        • 1. 989
        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)
        210μ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)
        150μ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 (46) and `institutions`.`deleted_at` is null
        170μ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 (1) and `providers`.`deleted_at` is null
        170μ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` = 983 limit 1
        250μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 983
        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
        6XViGM3VQ9QZfFCUUjhgvxrnnCVMtZiiTxDDL4YV
        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/introd...
        _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/introduction-to-containers,-kubernetes-and-openshift
        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 => "3.143.143.202" ] "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 => "932fc8aa1a07803a-ORD" ] "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 => "3.143.143.202" ] "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" => "3.143.143.202" "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" => "932fc8aa1a07803a-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "3.143.143.202" "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" => "10228" "REMOTE_ADDR" => "172.70.127.96" "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/introduction-to-containers,-kubernetes-and-openshift" "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" => 1745101170.5309 "REQUEST_TIME" => 1745101170 ]
        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 => "Sat, 19 Apr 2025 22:19:30 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlRrMU9nci9WSWp5ZzB6dEtUOW5qeUE9PSIsInZhbHVlIjoicnpWNS91dzJYT203NUZmMlFNMk5XZjUrQ2NsYlBvSTJvcUdVako0RkNqdS8xZjN1T0U4TUtBc0x1emVHMjZzeE8zdHdzUXNyV3VRRExHNkp6NWs2SjNZeWNuLzdzbGxGN2NxQ0hBZU5tekE5Qk41Sys3b0t4UG5mblI1MWhpUS8iLCJtYWMiOiI4MDg4ODVmYWZlYzBmOTYwMTc1OTgwZTM3YTM5MzI2NDBjZjJmNjU0YjQwMDBhODI5OGU5MjdlN2ZiY2RmZDE3IiwidGFnIjoiIn0%3D; expires=Sun, 20 Apr 2025 00:19:30 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IlRrMU9nci9WSWp5ZzB6dEtUOW5qeUE9PSIsInZhbHVlIjoicnpWNS91dzJYT203NUZmMlFNMk5XZjUrQ2NsYlBvSTJvcUdVako0RkNqdS8xZjN1T0U4TUtBc0x1emVHMjZzeE8zdHdzU" 1 => "laravel_session=eyJpdiI6InIxVXZibVhha1JHa3lZRnhVaUpUaEE9PSIsInZhbHVlIjoiV3lEQTNXMXFIQkFVMllVSU83aHFES0pMWnl6YnBoR213UkJocEVDUjhkMWN2bVduQWNLdEFScmZRR0QvNnBMOWZPTFB2WmtXMm9lY2RhQUxwSE5PM0R4OWhZTzdQUWROYXpOMGRxMjdCN093c3I4UGV2MHZyOHpIQUxVZWVITVYiLCJtYWMiOiI5NTZhNDQ0NDJmOTNlMDU3NDVhOWVkYTJhYmZmZDQxNTBlMWE2MjJhMDYzMzliOGY2YTdkZjQxNjZjNzBiZWJhIiwidGFnIjoiIn0%3D; expires=Sun, 20 Apr 2025 00:19:30 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6InIxVXZibVhha1JHa3lZRnhVaUpUaEE9PSIsInZhbHVlIjoiV3lEQTNXMXFIQkFVMllVSU83aHFES0pMWnl6YnBoR213UkJocEVDUjhkMWN2bVduQWNLdEFScmZRR0QvNnBMOWZP" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IlRrMU9nci9WSWp5ZzB6dEtUOW5qeUE9PSIsInZhbHVlIjoicnpWNS91dzJYT203NUZmMlFNMk5XZjUrQ2NsYlBvSTJvcUdVako0RkNqdS8xZjN1T0U4TUtBc0x1emVHMjZzeE8zdHdzUXNyV3VRRExHNkp6NWs2SjNZeWNuLzdzbGxGN2NxQ0hBZU5tekE5Qk41Sys3b0t4UG5mblI1MWhpUS8iLCJtYWMiOiI4MDg4ODVmYWZlYzBmOTYwMTc1OTgwZTM3YTM5MzI2NDBjZjJmNjU0YjQwMDBhODI5OGU5MjdlN2ZiY2RmZDE3IiwidGFnIjoiIn0%3D; expires=Sun, 20-Apr-2025 00:19:30 GMT; path=/XSRF-TOKEN=eyJpdiI6IlRrMU9nci9WSWp5ZzB6dEtUOW5qeUE9PSIsInZhbHVlIjoicnpWNS91dzJYT203NUZmMlFNMk5XZjUrQ2NsYlBvSTJvcUdVako0RkNqdS8xZjN1T0U4TUtBc0x1emVHMjZzeE8zdHdzU" 1 => "laravel_session=eyJpdiI6InIxVXZibVhha1JHa3lZRnhVaUpUaEE9PSIsInZhbHVlIjoiV3lEQTNXMXFIQkFVMllVSU83aHFES0pMWnl6YnBoR213UkJocEVDUjhkMWN2bVduQWNLdEFScmZRR0QvNnBMOWZPTFB2WmtXMm9lY2RhQUxwSE5PM0R4OWhZTzdQUWROYXpOMGRxMjdCN093c3I4UGV2MHZyOHpIQUxVZWVITVYiLCJtYWMiOiI5NTZhNDQ0NDJmOTNlMDU3NDVhOWVkYTJhYmZmZDQxNTBlMWE2MjJhMDYzMzliOGY2YTdkZjQxNjZjNzBiZWJhIiwidGFnIjoiIn0%3D; expires=Sun, 20-Apr-2025 00:19:30 GMT; path=/; httponlylaravel_session=eyJpdiI6InIxVXZibVhha1JHa3lZRnhVaUpUaEE9PSIsInZhbHVlIjoiV3lEQTNXMXFIQkFVMllVSU83aHFES0pMWnl6YnBoR213UkJocEVDUjhkMWN2bVduQWNLdEFScmZRR0QvNnBMOWZP" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "6XViGM3VQ9QZfFCUUjhgvxrnnCVMtZiiTxDDL4YV" "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/introduction-to-containers,-kubernetes-and-openshift" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]