CINXE.COM
Cloud Native Training Courses | CNCF
<!DOCTYPE html> <html lang="en-US" class="no-focus-outline"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Cloud Native Training Courses | CNCF</title> <!-- The SEO Framework by Sybre Waaijer --> <meta name="robots" content="max-snippet:-1,max-image-preview:standard,max-video-preview:-1" /> <link rel="canonical" href="https://www.cncf.io/training/courses/" /> <meta name="description" content="For certification prep or skill enhancement, CNCF provides training courses covering foundational and advanced topics. Browse cloud native courses below." /> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="CNCF" /> <meta property="og:title" content="Cloud Native Training Courses" /> <meta property="og:description" content="For certification prep or skill enhancement, CNCF provides training courses covering foundational and advanced topics. Browse cloud native courses below. See our Training FAQ for more information." /> <meta property="og:url" content="https://www.cncf.io/training/courses/" /> <meta property="og:image" content="https://www.cncf.io/wp-content/uploads/2022/05/ACNCF-Main-Share_02gd-10-1.jpg" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="630" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@cloudnativefdn" /> <meta name="twitter:title" content="Cloud Native Training Courses" /> <meta name="twitter:description" content="For certification prep or skill enhancement, CNCF provides training courses covering foundational and advanced topics. Browse cloud native courses below. See our Training FAQ for more information." /> <meta name="twitter:image" content="https://www.cncf.io/wp-content/uploads/2022/05/ACNCF-Main-Share_02gd-10-1.jpg" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.cncf.io/#/schema/WebSite","url":"https://www.cncf.io/","name":"CNCF","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.cncf.io/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","@id":"https://www.cncf.io/#/schema/Organization","name":"CNCF","url":"https://www.cncf.io/","sameAs":["https://www.facebook.com/CloudNativeComputingFoundation/","https://twitter.com/cloudnativefdn","https://www.instagram.com/humans.of.cloudnative/","https://www.youtube.com/c/cloudnativefdn","https://www.linkedin.com/company/cloud-native-computing-foundation/"],"logo":{"@type":"ImageObject","url":"https://www.cncf.io/wp-content/uploads/2022/11/cncf-logo-stacked.png","contentUrl":"https://www.cncf.io/wp-content/uploads/2022/11/cncf-logo-stacked.png","width":1293,"height":762,"contentSize":"12810"}}},{"@type":"WebPage","@id":"https://www.cncf.io/training/courses/","url":"https://www.cncf.io/training/courses/","name":"Cloud Native Training Courses | CNCF","description":"For certification prep or skill enhancement, CNCF provides training courses covering foundational and advanced topics. Browse cloud native courses below.","inLanguage":"en-US","isPartOf":{"@id":"https://www.cncf.io/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://www.cncf.io/#/schema/BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":"https://www.cncf.io/","name":"CNCF"},{"@type":"ListItem","position":2,"item":"https://www.cncf.io/training/","name":"Training & Certification"},{"@type":"ListItem","position":3,"name":"Cloud Native Training Courses"}]},"potentialAction":{"@type":"ReadAction","target":"https://www.cncf.io/training/courses/"}}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 11.07ms meta | 0.28ms boot --> <link rel='dns-prefetch' href='//www.cncf.io' /> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <link rel='dns-prefetch' href='//cmp.osano.com' /> <link crossorigin='' href='//www.googletagmanager.com' rel='preconnect' /> <link crossorigin='' href='//www.gstatic.com' rel='preconnect' /> <link crossorigin href='//js.hscollectedforms.net' rel='preconnect' /> <link crossorigin href='//js.hs-banner.com' rel='preconnect' /> <link crossorigin href='//js.hs-analytics.net' rel='preconnect' /> <link crossorigin href='//js.hsforms.net' rel='preconnect' /> <link crossorigin href='//js.hs-scripts.com' rel='preconnect' /> <link crossorigin href='//landscape.cncf.io' rel='preconnect' /> <link crossorigin href='//cmp.osano.com' rel='preconnect' /> <link crossorigin href='//consent.api.osano.com' rel='preconnect' /> <style id='wp-block-library-inline-css'> :root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color)}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} </style> <link rel='stylesheet' id='search-filter-plugin-styles-css' href='https://www.cncf.io/wp-content/plugins/search-filter-pro/public/assets/css/search-filter.min.css?ver=2.5.19' media='all' /> <link rel='stylesheet' id='main-css' href='https://www.cncf.io/wp-content/themes/cncf-twenty-two/build/styles.min.css?ver=1732320241' media='all' /> <style id='wp-block-button-inline-css'> .wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none} </style> <style id='wp-block-buttons-inline-css'> .wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center} </style> <script defer src="https://cmp.osano.com/16A0DbT9yDNIaQkvZ/c3494b1e-ff3a-436f-978d-842e9a0bed27/osano.js?ver=1" id="osano-js"></script> <link rel="https://api.w.org/" href="https://www.cncf.io/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.cncf.io/wp-json/wp/v2/pages/8132" /><!-- Google Tag Manager --> <script data-type="lazy" data-src="data:text/javascript;base64,KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOgpuZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3ZhciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0sCmo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQonaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPScraStkbDtmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosZik7Cn0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnZGF0YUxheWVyJywnR1RNLUtOWEZXVicpOw=="></script> <!-- End Google Tag Manager --> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.1.65--> <script class="hsq-set-content-id" data-content-id="standard-page"> var _hsq = _hsq || []; _hsq.push(["setContentType", "standard-page"]); </script> <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> <link rel="icon" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/favicon.ico" sizes="any"> <link rel="icon" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/favicon.svg" sizes="any" type="image/svg+xml"> <link rel="apple-touch-icon" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/apple-touch-icon.png"> <link rel="manifest" href="https://www.cncf.io/wp-content/themes/cncf-twenty-two/images/manifest.webmanifest"> <meta name="theme-color" content="#000000"> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-97e2229449e282c1bef",applicationID:"643908501"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <style> html { visibility: hidden; } </style> </head> <body class="page-template-default page page-id-8132 page-parent page-child parent-pageid-8065 wp-embed-responsive"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KNXFWV" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <a class="skip-link" href="#maincontent">Skip to content</a> <a class="skip-link" href="https://www.cncf.io/accessibility-statement/">Accessibility help</a> <div class="hello-bar" role="banner" style="background-color: #0175e4; color: #ffffff"> <div class="container wrap"> <p>Meet us in Delhi for KubeCon + CloudNativeCon India · Dec 11-12 · <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-india/register/?utm_source=www&utm_medium=homepage&utm_campaign=KubeCon-India-2024&utm_content=hello-bar">REGISTER TODAY</a></p> </div> </div> <header class="header"> <div class="container wrap"> <div class="logo"> <a href="/" title="Cloud Native Computing Foundation"> <img loading="eager" src="https://www.cncf.io/wp-content/uploads/2023/04/cncf-main-site-logo.svg" width="210" height="40" alt="Cloud Native Computing Foundation"> </a> </div> <nav class="main-menu"> <ul class="main-menu__wrapper"> <li class="menu-item-has-children"> <a href="#"><span>About</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-about_01" class="menu"><li id="menu-item-71611" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71611 lf-menu-title">Discover CNCF</li> <li id="menu-item-112411" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112411"><a href="https://www.cncf.io/membership-hub/">Membership Hub<span class="lf-menu-description">Learn about all the benefits of being a CNCF Member</span></a></li> <li id="menu-item-71617" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71617"><a href="https://www.cncf.io/people/technical-oversight-committee/">Technical Oversight Committee<span class="lf-menu-description">The TOC defines CNCF’s technical vision and provides experienced technical leadership to the cloud native community</span></a></li> <li id="menu-item-71618" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71618"><a href="https://www.cncf.io/people/governing-board/">Governing Board<span class="lf-menu-description">The GB is responsible for marketing, business oversight, and budget decisions for CNCF</span></a></li> <li id="menu-item-102485" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102485"><a href="https://www.cncf.io/people/end-user-technical-advisory-board/">End User Technical Advisory Board<span class="lf-menu-description">The End User TAB serves as the voice of the end users in CNCF community decisions</span></a></li> <li id="menu-item-72396" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72396"><a href="https://www.cncf.io/people/ambassadors/">Ambassadors<span class="lf-menu-description">Meet our Ambassadors—experienced practitioners passionate about helping others learn about cloud native technologies</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-about_02" class="menu"><li id="menu-item-71619" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71619 lf-menu-title">Additional Info</li> <li id="menu-item-102486" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102486"><a href="https://www.cncf.io/about/who-we-are/">Who We Are</a></li> <li id="menu-item-112412" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112412"><a href="https://www.cncf.io/about/members/">Member Listing</a></li> <li id="menu-item-74274" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-74274"><a href="https://www.cncf.io/conduct/">Code of Conduct</a></li> <li id="menu-item-118514" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-118514"><a href="https://www.cncf.io/policies/">Policies</a></li> <li id="menu-item-71620" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71620"><a href="https://www.cncf.io/people/staff/">Staff</a></li> <li id="menu-item-71621" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71621"><a href="https://www.cncf.io/about/faq/">FAQ</a></li> <li id="menu-item-71622" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71622"><a href="https://www.cncf.io/about/contact/">Contact Us</a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Featured Reads </li> </ul> <div class="columns-one"> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/cncf-annual-report-2023/" title="CNCF Annual Report 2023" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2023/12/Annual-Report-2023_Share-Banner.jpg 1800w" sizes="(max-width: 200px) 100vw, 200px" alt="CNCF Annual Report 2023"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Annual category" href="https://www.cncf.io/reports/?_sft_lf-report-type=annual">Annual Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/cncf-annual-report-2023/" title="CNCF Annual Report 2023">CNCF Annual Report 2023</a> </span> <span class="main-menu-item__date">January 23, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/cncf-ecosystem-gaps/" title="CNCF Ecosystem Gaps" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Screenshot-2024-11-14-at-7.40.10 AM-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="CNCF Ecosystem Gaps"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Survey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=survey">Survey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/cncf-ecosystem-gaps/" title="CNCF Ecosystem Gaps">CNCF Ecosystem Gaps</a> </span> <span class="main-menu-item__date">November 14, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper"> <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-india/" title="KubeCon + CloudNativeCon India 2024" class="main-menu-item__link main-menu-item__event"> <!-- event start --> <div class="main-menu-item__event-overlay" style="background-color: rgb(173, 20, 87) "> </div> <figure class="main-menu-item__event-bg-figure"> <img width="194" height="102" loading="lazy" class="main-menu-item__event-bg-image" src="https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/03/Screenshot-2024-11-06-at-10.37.21 AM-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="KubeCon + CloudNativeCon India 2024"> </figure> <div class="main-menu-item__event-content"> <div> <img loading="lazy" class="main-menu-item__event-logo" src="https://www.cncf.io/wp-content/uploads/2024/03/kc_cnc_india24_white.svg" alt="KubeCon + CloudNativeCon India 2024" width="414" height="177"> <h4><span class="main-menu-item__event-city">Delhi, India</span> </h4> </div> </div> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Events" href="https://www.cncf.io/events">Next Event</a> <span class="main-menu-item__title"> <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-india/" title="KubeCon + CloudNativeCon India 2024">KubeCon + CloudNativeCon India 2024</a> </span> <span class="main-menu-item__date"> December 11-12, 2024</span> </div> </div> </div> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Projects</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-projects_01" class="menu"><li id="menu-item-71623" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71623 lf-menu-title">CNCF Projects</li> <li id="menu-item-71624" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71624"><a href="https://www.cncf.io/projects/">Graduated<span class="lf-menu-description">Projects considered stable, widely adopted, and production ready, attracting thousands of contributors</span></a></li> <li id="menu-item-71625" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71625"><a href="https://www.cncf.io/projects/">Incubating<span class="lf-menu-description">Projects used successfully in production by a small number users with a healthy pool of contributors</span></a></li> <li id="menu-item-71626" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71626"><a href="https://www.cncf.io/sandbox-projects/">Sandbox<span class="lf-menu-description">Experimental projects not yet widely tested in production on the bleeding edge of technology</span></a></li> <li id="menu-item-71627" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71627"><a href="https://www.cncf.io/archived-projects/">Archived<span class="lf-menu-description">Projects that have reached the end of their lifecycle and have become inactive</span></a></li> <li id="menu-item-94549" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94549"><a href="https://www.cncf.io/project-metrics/">Project Metrics<span class="lf-menu-description">View metrics of CNCF projects moving through maturity levels</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-projects_02" class="menu"><li id="menu-item-71628" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71628 lf-menu-title">Get Involved</li> <li id="menu-item-71629" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71629"><a href="https://contribute.cncf.io"><span class="lf-external-link">Contribute</span><span class="lf-menu-description">Join the 150K+ folx in #TeamCloudNative who’ve contributed their expertise to CNCF hosted projects</span></a></li> <li id="menu-item-103342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-103342"><a href="https://contribute.cncf.io/resources/project-services/"><span class="lf-external-link">Services for CNCF Projects</span><span class="lf-menu-description">CNCF services for our open source projects – from marketing to legal services</span></a></li> <li id="menu-item-71632" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71632"><a href="https://landscape.cncf.io"><span class="lf-external-link">Cloud Native Landscape</span><span class="lf-menu-description">A comprehensive categorical overview of projects and product offerings in the cloud native space</span></a></li> <li id="menu-item-71631" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71631"><a href="/reports/?_sft_lf-report-type=project-journey">Project Journey Reports<span class="lf-menu-description">Showing how CNCF has impacted the progress and growth of various graduated projects</span></a></li> <li id="menu-item-71633" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71633"><a href="/project-tools/">Project Tools<span class="lf-menu-description">Quick links to tools and resources for your CNCF project</span></a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Latest Project Journey Reports </li> </ul> <div class="columns-one"> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/cilium-project-journey-report/" title="Cilium Project Journey Report" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-768x404.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1800x946.jpg 1800w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-761x400.jpg 761w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Cilium-Project-Journey-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="Cilium Project Journey Report"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Project Journey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/cilium-project-journey-report/" title="Cilium Project Journey Report">Cilium Project Journey Report</a> </span> <span class="main-menu-item__date">November 11, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/etcd-project-journey-report/" title="etcd Project Journey Report" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-300x158.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-1024x538.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-768x404.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-900x473.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-380x200.jpg 380w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-761x400.jpg 761w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/09/etcd-Project-Journey-590x310-1.jpg 1229w" sizes="(max-width: 200px) 100vw, 200px" alt="etcd Project Journey Report"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Project Journey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/etcd-project-journey-report/" title="etcd Project Journey Report">etcd Project Journey Report</a> </span> <span class="main-menu-item__date">September 25, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/reports/etcd-project-journey-report-jp/" title="etcd Project Journey Report – Japanese translation" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/10/etcd-pjr-jp1-1180x620.jpg 1180w" sizes="(max-width: 200px) 100vw, 200px" alt="etcd Project Journey Report – Japanese translation"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Project Journey category" href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Report</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/reports/etcd-project-journey-report-jp/" title="etcd Project Journey Report – Japanese translation">etcd Project Journey Report – Japanese translation</a> </span> <span class="main-menu-item__date">September 25, 2024</span> </div> </div> </div> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Training</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-certifications_01" class="menu"><li id="menu-item-71634" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71634 lf-menu-title">Become an expert</li> <li id="menu-item-97034" class="menu-item menu-item-type-post_type menu-item-object-page current-page-ancestor current-page-parent menu-item-97034"><a href="https://www.cncf.io/training/">Training Overview<span class="lf-menu-description">Find your path to cloud native success with training and certificates from the pioneer of cloud-native technology</span></a></li> <li id="menu-item-97032" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97032"><a href="https://www.cncf.io/training/certification/">Certifications<span class="lf-menu-description">Get certified by the only authoritative source for cloud-native certification accepted by industry</span></a></li> <li id="menu-item-97033" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-8132 current_page_item menu-item-97033"><a href="https://www.cncf.io/training/courses/" aria-current="page">Courses<span class="lf-menu-description">Learn the basics of cloud native or train for a certification with training courses built in collaboration with the Linux Foundation</span></a></li> <li id="menu-item-104457" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104457"><a href="https://www.cncf.io/training/kubestronaut/">Kubestronaut Program<span class="lf-menu-description">Uplevel your Kubernetes skills</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-certifications_02" class="menu"><li id="menu-item-71638" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71638 lf-menu-title">Additional Resources</li> <li id="menu-item-71642" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71642"><a href="https://www.cncf.io/training/kubernetes-training-partners/">Kubernetes Training Partners<span class="lf-menu-description">Find a qualified KTP to prepare for your next certification</span></a></li> <li id="menu-item-104420" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104420"><a href="https://www.cncf.io/training/cncf-endorsed-content/">CNCF Endorsed Content<span class="lf-menu-description">Training materials that match strict criteria</span></a></li> <li id="menu-item-71640" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71640"><a href="https://www.cncf.io/training/certification/software-conformance/">Certified Kubernetes<span class="lf-menu-description">Software conformance ensures your versions of CNCF projects support the required APIs</span></a></li> <li id="menu-item-72609" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72609"><a href="https://www.cncf.io/training/certification/cnf/">Cloud Native Network Function Certification (Beta)<span class="lf-menu-description">CNF Certification ensures applications demonstrate cloud native best practices</span></a></li> <li id="menu-item-71643" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71643"><a href="https://www.cncf.io/training/certification/kcsp/">Kubernetes Certified Service Provider<span class="lf-menu-description">KCSPs have deep experience helping enterprises successfully adopt cloud native technologies</span></a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Recommended Links </li> </ul> <div class="columns-one"> <div class="main-menu-item promotion-item"> <div class="main-menu-item__image-wrapper"> <a href="https://www.cncf.io/enduser/" title="Save $10K on Cloud Native" class="main-menu-item__link"> <img width="2048" height="1365" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k.jpg" srcset="https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k.jpg 2048w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-300x200.jpg 300w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-768x512.jpg 768w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-1024x683.jpg 1024w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-1536x1024.jpg 1536w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-900x600.jpg 900w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-1800x1200.jpg 1800w, https://www.cncf.io/wp-content/uploads/2022/05/45581516234_606446e424_k-600x400.jpg 600w" sizes="(max-width: 400px) 100vw, 400px" alt="Save $10K on Cloud Native"> </a> </div> <div class="main-menu-item__text-wrapper"> <span class="main-menu-item__title"> <a href="https://www.cncf.io/enduser/" title="Save $10K on Cloud Native">Save $10K on Cloud Native</a> </span> <p class="main-menu-item__body">Enroll your company as a CNCF End User and save more than $10K in training and conference costs</p> <p class="is-style-link-cta"><a href="https://www.cncf.io/enduser/">Become an End User</a></p> </div> </div> </div> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Community</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-community_01" class="menu"><li id="menu-item-71644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71644 lf-menu-title">Take Part</li> <li id="menu-item-71645" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71645"><a href="https://www.cncf.io/enduser/">End User Community<span class="lf-menu-description">Join our vendor-neutral community using cloud native technologies to build products and services</span></a></li> <li id="menu-item-71646" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71646"><a href="https://www.cncf.io/events/">Events<span class="lf-menu-description">Meet #TeamCloudNative and CNCF staff at events around the world</span></a></li> <li id="menu-item-71648" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71648"><a href="https://www.cncf.io/case-studies/">Case Studies<span class="lf-menu-description">Read real-world case studies about the impact cloud native projects are having on organizations around the world</span></a></li> <li id="menu-item-72634" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72634"><a href="https://www.cncf.io/humans-of-cloud-native/">Humans of Cloud Native<span class="lf-menu-description">Read stories of amazing individuals and their contributions</span></a></li> <li id="menu-item-120507" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-120507"><a href="https://www.cncf.io/heroes/">The Cloud Native Heroes Challenge<span class="lf-menu-description">Be a cloud native hero! Help us defeat patent trolls to earn swag and prizes</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-community_02" class="menu"><li id="menu-item-71651" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71651 lf-menu-title">Community Content</li> <li id="menu-item-72395" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72395"><a href="https://www.cncf.io/online-programs/">Online Programs<span class="lf-menu-description">Watch our free online programs for the latest insights into cloud native technologies and projects</span></a></li> <li id="menu-item-71652" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71652"><a href="https://www.cncf.io/kubeweekly/">KubeWeekly<span class="lf-menu-description">Sign up for a weekly dose of all things Kubernetes, curated by #TeamCloudNative</span></a></li> <li id="menu-item-71653" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71653"><a href="https://community.cncf.io"><span class="lf-external-link">Community Groups</span><span class="lf-menu-description">Join #TeamCloudNative at events and meetups near you</span></a></li> <li id="menu-item-71654" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71654"><a href="https://www.cncf.io/phippy/">Phippy & Friends<span class="lf-menu-description">Phippy explains core cloud native concepts in simple terms through stories perfect for all ages</span></a></li> <li id="menu-item-71655" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71655"><a href="https://glossary.cncf.io"><span class="lf-external-link">Cloud Native Glossary</span><span class="lf-menu-description">Explore cloud native concepts in clear and simple language – no technical knowledge required!</span></a></li> </ul> </div> <div class="col3"> <ul id="menu-community_03" class="menu"><li id="menu-item-71656" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71656 lf-menu-title">Additional Resources</li> <li id="menu-item-71657" class="has-icon icon-job menu-item menu-item-type-custom menu-item-object-custom menu-item-71657"><a href="https://jobs.cncf.io"><span class="lf-external-link">Job Board</span></a></li> <li id="menu-item-71658" class="has-icon icon-slack menu-item menu-item-type-custom menu-item-object-custom menu-item-71658"><a href="https://slack.cncf.io/"><span class="lf-external-link">Slack</span></a></li> <li id="menu-item-71659" class="has-icon icon-mailing menu-item menu-item-type-custom menu-item-object-custom menu-item-71659"><a href="https://lists.cncf.io/g/main/subgroups"><span class="lf-external-link">Mailing Lists</span></a></li> <li id="menu-item-71660" class="has-icon icon-store menu-item menu-item-type-custom menu-item-object-custom menu-item-71660"><a href="https://store.cncf.io"><span class="lf-external-link">Store</span></a></li> <li id="menu-item-71661" class="has-icon icon-calendar menu-item menu-item-type-post_type menu-item-object-page menu-item-71661"><a href="https://www.cncf.io/calendar/">Calendar</a></li> </ul> </div> </div> </div> </li> <li class="menu-item-has-children"><a href="#"><span>Blog & News</span></a> <div class="sub-menu"> <div class="col-container"> <div class="col1"> <ul id="menu-blog_01" class="menu"><li id="menu-item-71662" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71662 lf-menu-title">All the news</li> <li id="menu-item-71663" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71663"><a href="https://www.cncf.io/blog/">Blog<span class="lf-menu-description">Catch up on the latest happenings and technical insights from #TeamCloudNative</span></a></li> <li id="menu-item-71664" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71664"><a href="https://www.cncf.io/announcements/">Announcements<span class="lf-menu-description">Media releases and official CNCF announcements</span></a></li> <li id="menu-item-71665" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71665"><a href="https://www.cncf.io/news/">News<span class="lf-menu-description">CNCF projects and #TeamCloudNative in the media</span></a></li> <li id="menu-item-71666" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71666"><a href="https://www.cncf.io/reports/">Reports<span class="lf-menu-description">Read transparent, in-depth reports on our organization, events, and projects</span></a></li> </ul> </div> <div class="col2"> <ul id="menu-blog_02" class="menu"><li id="menu-item-71667" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71667 lf-menu-title">Media Resources</li> <li id="menu-item-75049" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-75049"><a href="https://www.cncf.io/brand-guidelines/">Brand Guidelines</a></li> <li id="menu-item-71668" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71668"><a href="https://github.com/cncf/artwork"><span class="lf-external-link">Project Logos</span></a></li> <li id="menu-item-71669" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71669"><a href="https://www.youtube.com/c/cloudnativefdn"><span class="lf-external-link">Videos</span></a></li> <li id="menu-item-71670" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71670"><a href="https://www.flickr.com/photos/143247548@N03/albums/"><span class="lf-external-link">Pictures</span></a></li> </ul> </div> <div class="col3"> <ul class="menu"> <li class="lf-menu-title">Latest Blog Posts </li> </ul> <div class="columns-one"> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2024/11/22/open-source-spirit-elevating-team-collaboration-and-innovation/" title="Open source spirit: elevating team collaboration and innovation" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-194x102.png" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-194x102.png 194w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-300x157.png 300w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-1024x537.png 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-768x403.png 768w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-388x204.png 388w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-776x408.png 776w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-1552x816.png 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-900x472.png 900w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40-381x200.png 381w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-2-40.png 1650w" sizes="(max-width: 200px) 100vw, 200px" alt="Open source spirit: elevating team collaboration and innovation"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Ambassador category" href="https://www.cncf.io/blog?_sft_lf-author-category=ambassador">Ambassador Post</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2024/11/22/open-source-spirit-elevating-team-collaboration-and-innovation/" title="Open source spirit: elevating team collaboration and innovation">Open source spirit: elevating team collaboration and innovation</a> </span> <span class="main-menu-item__date">November 22, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2024/11/22/konveyor-ai-supporting-application-modernization/" title="Konveyor AI: supporting application modernization" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-300x157.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-1024x537.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-900x472.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Template-4-32.jpg 1650w" sizes="(max-width: 200px) 100vw, 200px" alt="Konveyor AI: supporting application modernization"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Member category" href="https://www.cncf.io/blog?_sft_lf-author-category=member">Member Post</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2024/11/22/konveyor-ai-supporting-application-modernization/" title="Konveyor AI: supporting application modernization">Konveyor AI: supporting application modernization</a> </span> <span class="main-menu-item__date">November 22, 2024</span> </div> </div> <div class="main-menu-item"> <div class="main-menu-item__image-wrapper not-sticky"> <a href="https://www.cncf.io/blog/2024/11/21/unlock-growth-and-talent-why-maintainers-should-mentor-with-cncf/" title="Unlock growth and talent: why maintainers should mentor with CNCF" class="main-menu-item__link"> <img width="194" height="102" loading="lazy" class="main-menu-item__image" src="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-194x102.jpg" srcset="https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-194x102.jpg 194w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-300x157.jpg 300w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-1024x537.jpg 1024w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-768x403.jpg 768w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-388x204.jpg 388w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-776x408.jpg 776w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-1552x816.jpg 1552w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-900x472.jpg 900w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-381x200.jpg 381w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-762x400.jpg 762w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-590x310.jpg 590w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33-1180x620.jpg 1180w, https://www.cncf.io/wp-content/uploads/2024/11/Single-Card-33.jpg 1650w" sizes="(max-width: 200px) 100vw, 200px" alt="Unlock growth and talent: why maintainers should mentor with CNCF"> </a> </div> <div class="main-menu-item__text-wrapper"> <a class="author-category" title="See more in Mentorship category" href="https://www.cncf.io/blog?_sft_lf-author-category=mentorship">Mentorship Post</a> <span class="main-menu-item__title"> <a href="https://www.cncf.io/blog/2024/11/21/unlock-growth-and-talent-why-maintainers-should-mentor-with-cncf/" title="Unlock growth and talent: why maintainers should mentor with CNCF">Unlock growth and talent: why maintainers should mentor with CNCF</a> </span> <span class="main-menu-item__date">November 21, 2024</span> </div> </div> </div> </div> </div> </div> </li> </ul> <div style="height:60px;" aria-hidden="true" class="wp-block-spacer show-upto-1000"> </div> <div class="header-cta"> <div class="wp-block-button"> <a href="https://www.cncf.io/about/join/" class="wp-block-button__link wp-element-button">Join</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer show-upto-1000"> </div> <!-- Button to open the search menu --> <button class="header__search_open search-toggle button-reset show-over-1000" type="button" aria-label="Search"> <svg fill="none" viewbox="0 0 29 27" width="29" height="27" xmlns="http://www.w3.org/2000/svg"><path d="M11.172 20.035c5.042 0 9.13-4.036 9.13-9.015s-4.088-9.015-9.13-9.015-9.129 4.036-9.129 9.015c0 4.98 4.087 9.015 9.13 9.015zm5.974-4.615L26.849 25" opacity=".893" stroke="#000" stroke-width="4"/></svg> </button> <div class="header__search_wrapper"> <div class="header__search_container"> <form class="search-form" method="get" autocomplete="off" action="https://www.cncf.io" role="search"> <label for="search-bar" class="screen-reader-text">Search CNCF</label> <input class="search-input" type="search" id="search-bar" value="" name="s" placeholder="I'm looking for..." title="Search CNCF site" autocapitalize="off" spellcheck="false" maxlength="98" required> <input class="search-input-button wp-block-button__link has-no-padding" type="submit" value="Search" /> </form> <div style="height:100px" aria-hidden="true" class="wp-block-spacer show-upto-1000"> </div> <button class="button-reset search-toggle show-over-1000" type="button" aria-label="Close"> <svg width="18" height="18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.999 2.001L2 16M2 2l13.999 13.999" stroke="#fff" stroke-width="3" stroke-linecap="round"/></svg> </button> </div> </div> </nav> <button class="hamburger" type="button" aria-label="Toggle Menu"> <span class="hamburger-box"> <span class="hamburger-inner"></span> </span> </button> </div> </header> <header class="title-wrapper container wrap"> <div class="parent-link-align"> <a class="parent-link" href="/training/" title="Go to Training & Certification Overview">Training & Certification</a> </div> <h1 class="is-style-page-title" itemprop="headline">Cloud Native Training Courses </h1> </header> <div class="skip-link-target" id="maincontent"></div> <main> <article class="container wrap"> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="padding-right:30px;flex-basis:60%"> <p class="is-style-max-width-100 is-style-opening-paragraph">For certification prep or skill enhancement, CNCF provides training courses covering foundational and advanced topics. Browse cloud native courses below. </p> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <div class="wp-block-group is-style-border is-layout-constrained wp-block-group-is-layout-constrained"> <h2 class="wp-block-heading">More info </h2> <div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div> <p>See our <a href="https://www.cncf.io/certification/training/faq/" data-type="page" data-id="65406">Training FAQ</a> for more information. For bulk purchases of the CKA or CKAD exam, please contact <a href="mailto:training@cncf.io">training@cncf.io</a>.</p> </div> </div> </div> <div style="height:50px" aria-hidden="true" class="wp-block-spacer is-style-default"></div> <p></p> <form data-sf-form-id='103768' data-is-rtl='0' data-maintain-state='' data-results-url='https://www.cncf.io/training/courses/' data-ajax-url='https://www.cncf.io/?sfid=103768&sf_action=get_data&sf_data=all' data-ajax-form-url='https://www.cncf.io/?sfid=103768&sf_action=get_data&sf_data=form' data-display-result-method='shortcode' data-use-history-api='1' data-template-loaded='0' data-lang-code='en' data-ajax='1' data-ajax-data-type='json' data-ajax-links-selector='.pagination a' data-ajax-target='#search-filter-results-103768' data-ajax-pagination-type='infinite_scroll' data-show-scroll-loader='1' data-infinite-scroll-trigger='-100' data-infinite-scroll-result-class='.course-item' data-update-ajax-url='1' data-only-results-ajax='1' data-scroll-to-pos='0' data-init-paged='1' data-auto-update='1' data-auto-count='1' data-auto-count-refresh-mode='1' action='https://www.cncf.io/training/courses/' method='post' class='searchandfilter' id='search-filter-form-103768' autocomplete='off' data-instance-count='1'><ul><li class="sf-field-taxonomy-lf-project" data-sf-field-name="_sft_lf-project" data-sf-field-type="taxonomy" data-sf-field-input-type="select" data-sf-combobox="1"> <label> <span class="screen-reader-text">Select project</span> <select data-combobox="1" name="_sft_lf-project[]" class="sf-input-select" title="Select project"> <option class="sf-level-0 sf-item-0 sf-option-active" selected="selected" data-sf-count="0" data-sf-depth="0" value="">All Projects</option> <option class="sf-level-0 sf-item-738" data-sf-count="1" data-sf-depth="0" value="argo">Argo (1)</option> <option class="sf-level-0 sf-item-1091" data-sf-count="1" data-sf-depth="0" value="backstage">Backstage (1)</option> <option class="sf-level-0 sf-item-1175" data-sf-count="1" data-sf-depth="0" value="cilium">Cilium (1)</option> <option class="sf-level-0 sf-item-1178" data-sf-count="1" data-sf-depth="0" value="dapr">Dapr (1)</option> <option class="sf-level-0 sf-item-142" data-sf-count="1" data-sf-depth="0" value="fluentd">Fluentd (1)</option> <option class="sf-level-0 sf-item-1006" data-sf-count="1" data-sf-depth="0" value="flux">Flux (1)</option> <option class="sf-level-0 sf-item-160" data-sf-count="1" data-sf-depth="0" value="helm">Helm (1)</option> <option class="sf-level-0 sf-item-1342" data-sf-count="1" data-sf-depth="0" value="istio">Istio (1)</option> <option class="sf-level-0 sf-item-1112" data-sf-count="1" data-sf-depth="0" value="keda">KEDA (1)</option> <option class="sf-level-0 sf-item-1195" data-sf-count="1" data-sf-depth="0" value="knative">Knative (1)</option> <option class="sf-level-0 sf-item-1354" data-sf-count="1" data-sf-depth="0" value="kubeflow">Kubeflow (1)</option> <option class="sf-level-0 sf-item-126" data-sf-count="9" data-sf-depth="0" value="kubernetes">Kubernetes (9)</option> <option class="sf-level-0 sf-item-1046" data-sf-count="1" data-sf-depth="0" value="kyverno">Kyverno (1)</option> <option class="sf-level-0 sf-item-122" data-sf-count="1" data-sf-depth="0" value="linkerd">Linkerd (1)</option> <option class="sf-level-0 sf-item-919" data-sf-count="1" data-sf-depth="0" value="opentelemetry">OpenTelemetry (1)</option> <option class="sf-level-0 sf-item-1262" data-sf-count="1" data-sf-depth="0" value="prometheus">Prometheus (1)</option> <option class="sf-level-0 sf-item-1113" data-sf-count="1" data-sf-depth="0" value="service-mesh-interface">Service Mesh Interface (SMI) (1)</option> </select></label> </li><li class="sf-field-taxonomy-lf-course-difficulty" data-sf-field-name="_sft_lf-course-difficulty" data-sf-field-type="taxonomy" data-sf-field-input-type="select" data-sf-combobox="1"> <label> <span class="screen-reader-text">Select difficulty level</span> <select data-combobox="1" name="_sft_lf-course-difficulty[]" class="sf-input-select" title="Select difficulty level"> <option class="sf-level-0 sf-item-0 sf-option-active" selected="selected" data-sf-count="0" data-sf-depth="0" value="">All Difficulty Levels</option> <option class="sf-level-0 sf-item-1498" data-sf-count="7" data-sf-depth="0" value="beginner">Beginner (7)</option> <option class="sf-level-0 sf-item-1499" data-sf-count="11" data-sf-depth="0" value="beginner-to-intermediate">Beginner to Intermediate (11)</option> <option class="sf-level-0 sf-item-1500" data-sf-count="14" data-sf-depth="0" value="intermediate">Intermediate (14)</option> <option class="sf-level-0 sf-item-1501" data-sf-count="1" data-sf-depth="0" value="intermediate-to-advanced">Intermediate to Advanced (1)</option> <option class="sf-level-0 sf-item-1502" data-sf-count="1" data-sf-depth="0" value="advanced">Advanced (1)</option> </select></label> </li><li class="sf-field-post-meta-lf_course_free" data-sf-field-name="_sfm_lf_course_free" data-sf-field-type="post_meta" data-sf-field-input-type="select" data-sf-meta-type="choice" data-sf-combobox="1"> <label> <span class="screen-reader-text">Select cost</span> <select data-combobox="1" name="_sfm_lf_course_free[]" class="sf-input-select" title="Select cost"> <option class="sf-level-0 sf-item-0 sf-option-active" selected="selected" data-sf-depth="0" value="">Both Free and Paid</option> <option class="sf-level-0" data-sf-count="15" data-sf-depth="0" value="1">Free (15)</option> </select></label> </li><li class="sf-field-reset" data-sf-field-name="reset" data-sf-field-type="reset" data-sf-field-input-type="link"><a href="#" class="search-filter-reset" data-search-form-id="103768" data-sf-submit-form="always">Reset</a></li></ul></form> <div class="search-filter-results" id="search-filter-results-103768"> <p class="search-filter-results-count"> Found 34 courses</p> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-30-40"></div> <hr class="wp-block-separator has-text-color has-background has-gray-500-background-color has-gray-500-color is-style-horizontal-rule"> <div style="height:50px" aria-hidden="true" class="wp-block-spacer is-style-30-50"></div> <div class="courses"> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/serverless-and-event-driven-applications-with-knative-lfs246/">Serverless and Event-Driven Applications with Knative</a> </h2> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Learn how to deploy serverless applications using Knative on Kubernetes, manage event-driven workloads, and implement autoscaling strategies. You’ll also configure Knative Serving and Eventing, handle traffic management, and set up monitoring and observability with tools like Prometheus and Grafana.</p> <p>You’ll be ready to take on cloud native projects, lead serverless application development, and implement modern deployment strategies, positioning yourself for opportunities in the fast-growing cloud native ecosystem.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Intermediate</p> <p><strong>Length:</strong> Online, Self Paced</p> <p><strong>Who It’s For:</strong> Software engineers, DevOps professionals, system administrators, and architects who want to expand their knowledge of serverless technologies, cloud native development, and event-driven architecture.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: $299</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/serverless-and-event-driven-applications-with-knative-lfs246/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/kubernetes-troubleshooting-lfws313/">Kubernetes Troubleshooting</a> </h2> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>This course teaches you essential Kubernetes tools, which, together with complex observability solutions, help you achieve faster and more accurate resolutions.You will build hands-on expertise in diagnosing and resolving Kubernetes issues in pods, services, networking, storage, and nodes using labs and simulations.</p> <p>Increase your ability to tackle Kubernetes related issues and make yourself a vital member of any cloud native team while enabling you to use your new skills to open doors to advanced roles including Kubernetes Administrator, DevOps Engineer, or Cloud Infrastructure Architect.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Intermediate</p> <p><strong>Length:</strong> 1 day of Instructor-led class time</p> <p><strong>Who It’s For:</strong> DevOps and SRE engineers, cloud engineers, Kubernetes administrators, and anyone managing and monitoring clusters who wants to deepen their troubleshooting knowledge.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: $995</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/kubernetes-troubleshooting-lfws313/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/getting-started-with-opentelemetry-lfs148/">Getting Started with OpenTelemetry</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Understand the basics of OpenTelemetry, including how to instrument code for traces, metrics, and logs; and use manual and automatic instrumentation to enhance observability in modern applications.</p> <p>You’ll be prepared to enhance application observability using OpenTelemetry, implement instrumentation, and operate the OpenTelemetry Collector, opening doors to roles requiring high-demand cloud and distributed system observability skills.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner</p> <p><strong>Length:</strong> Online, Self Paced</p> <p><strong>Who It’s For:</strong> Software developers, DevOps engineers, site reliability engineers (SREs), and full-stack or backend developers looking to implement telemetry solutions across various applications and environments.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/getting-started-with-opentelemetry-lfs148/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/dapr-with-webassembly-lfd233/">Dapr with WebAssembly</a> </h2> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Learn how to develop Rust web services using WebAssembly, connect them with Dapr to enhance application capabilities, and securely manage application states, configurations, and secrets. Master deploying your applications on Kubernetes, using Dapr’s WebAssembly support for optimized development workflows.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Intermediate</p> <p><strong>Length:</strong> Online, Self Paced</p> <p><strong>Who It’s For:</strong> Software developers, cloud engineers, and IT professionals, this course helps expand skills in Dapr and WebAssembly.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: $299</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/dapr-with-webassembly-lfd233/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/creating-effective-documentation-for-developers-lfc112/">Creating Effective Documentation for Developers</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Create inclusive documentation for new users and foster engagement, while leveraging specific skills to meet the unique API documentation requirements of your product.</p> <p>You will learn the essentials of effective API documentation, including different document types, API elements, code-based reference improvement, technical communication skills, planning for documentation in software development, and collaboration with writers and editors to enhance technical documentation.</p> <p>This course prepares you to create, enhance, and evaluate product documentation. You’ll be able to plan for quality documentation, convey information effectively, and collaborate with writers as a subject matter expert to transfer technical knowledge efficiently to users.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner</p> <p><strong>Length:</strong> Online, Self Paced</p> <p><strong>Who It’s For:</strong> Open source developers, project managers, and engineers, catering to different writing skills. Also beneficial for tech writers with basic programming knowledge.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/creating-effective-documentation-for-developers-lfc112/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/open-source-technical-documentation-essentials-lfc111/">Open Source Technical Documentation Essentials</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Get started with creating and executing a documentation plan for your open source, developer-oriented project.</p> <p>Learn the importance of dedicating resources to documentation for open source, cloud-native products. Discover how to identify your audience, evaluate existing content, balance conceptual and detailed information, define effective API docs, and prepare for a quality content production.</p> <p>By the end of this course, you will be able to plan, create, evaluate, enhance, and seamlessly integrate high-quality documentation into open source projects.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner</p> <p><strong>Length:</strong> Online, Self Paced</p> <p><strong>Who It’s For:</strong> Open source developers, project managers, and engineers, catering to different writing skills. Also beneficial for tech writers with basic programming knowledge.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/open-source-technical-documentation-essentials-lfc111/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-ai-ml-toolkits-with-kubeflow-lfs147/">Introduction to AI/ML Toolkits with Kubeflow</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>This course, hosted on the edX platform, was developed for developers, engineers, data scientists, or anyone interested in understanding the anatomy of a machine learning tool kit that harnesses the power of Kubernetes. Course participants will learn to deploy real-world ML projects using Kubeflow.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner</p> <p><strong>Length:</strong> Self-Paced</p> <p><strong>Who It’s For:</strong> DevOps practitioners and teams.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-ai-ml-toolkits-with-kubeflow-lfs147/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/mastering-kubernetes-event-driven-autoscaling-with-keda-lfs257/">Mastering Kubernetes Event-Driven Autoscaling with KEDA</a> </h2> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Event-driven autoscaling with KEDA is a must for cloud native professionals. Designed for Kubernetes administrators, DevOps engineers, and cloud native professionals, this course provides developers with the essential skills needed to configure and optimize KEDA for efficient resource management and responsive scaling. </p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Kubernetes administrators, DevOps engineers, and cloud professionals looking to enhance their skills in Kubernetes autoscaling, particularly using KEDA.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: $299</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/mastering-kubernetes-event-driven-autoscaling-with-keda-lfs257/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/devops-and-workflow-management-with-argo-lfs256/">DevOps and Workflow Management with Argo</a> </h2> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Argo provides a robust framework for managing complex GitOps style workflows on Kubernetes, enabling organizations to streamline their deployment processes and enhance operational efficiency. </p> <p>Learn Argo for seamless Kubernetes workflows: deploy apps, manage rollouts, implement RBAC, troubleshoot, leverage event-driven architecture, and optimize with the Argo CLI.</p> <p>By the end of this course, you’ll be well-equipped to implement Argo to manage complex deployments and workflows. It will also help you prepare for the Certified Argo Project Associate (CAPA) exam, along with real-life experience and additional study.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> DevOps engineers, software developers, SysAdmins, and IT managers, this course teaches skills in Kubernetes workflow management, streamlined deployments, and GitOps practices.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: $99</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/devops-and-workflow-management-with-argo-lfs256/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/mastering-kubernetes-security-with-kyverno-lfs255/">Mastering Kubernetes Security with Kyverno</a> </h2> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>As Kubernetes continues to evolve as the de facto standard for orchestration, mastering Kubernetes and cloud native security has become extremely important. </p> <p>Learn to create, apply and manage Kyverno policies and reporting tools that help identify potential violations in real-time and proactively address security and compliance in Kubernetes clusters.</p> <p>The course empowers you to become proficient in Kubernetes policy management and reporting, enhancing skills for roles including Kubernetes security specialists, DevSecOps engineers, or Kubernetes administrators.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Kubernetes engineers, cluster operators, and security professionals whose focus is regulatory compliance, standardization, and security within Kubernetes clusters using Kyverno.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: $299</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/mastering-kubernetes-security-with-kyverno-lfs255/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-gitops-lfs169/">Introduction to GitOps</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Learn how GitOps could help you deploy to a Kubernetes environment with a simple pull request from git. </p> <p>Understand the key principles, practices, tools and benefits of using GitOps, helping you build an operational framework for cloud native applications primarily running on Kubernetes. </p> <p>This will eventually help you set up and automate your continuous delivery pipeline to Kubernetes, leading to increased productivity and efficiency for tech roles.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Those looking to understand the landscape of GitOps and learn how to choose and implement the right tools.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-gitops-lfs169/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-kubernetes-on-edge-with-k3s-lfs156x/">Introduction to Kubernetes on Edge with K3s</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>There is a growing interest in running software at the edge. This course takes a deep dive into the use cases and applications of Kubernetes at the edge using examples, labs, and a technical overview of the K3s project and the cloud native edge ecosystem.</p> <p>While students do not need a Kubernetes certification for this course, experience with a Linux operating system and shell scripting will be beneficial. Programming experience is also not strictly required. Learners will need to be able to run Docker on their computer.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Those interested learning more about Kubernetes, as well as in deploying applications or embedded sensors in edge locations</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-kubernetes-on-edge-with-k3s-lfs156x/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-cilium-lfs146x/">Introduction to Cilium</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Cilium is a popular and widely-deployed Container Network Interface (CNI) solution that is now the default across many Kubernetes distributions and cloud provider offerings. Get a practical introduction to using Cilium as the networking plug-in for Kubernetes, including installation, observability with Hubble, securing network connections, and multi-cluster support – all based on eBPF for scalability.</p> <p>To make the most of this course, students should be familiar with basic Kubernetes concepts, Kubernetes operations and the kubectl tool. </p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Application developers, systems operators, and security professionals with an interest in learning how to use Cilium to better connect, observe, and secure Kubernetes.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-cilium-lfs146x/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-protocol-buffers-lfs145/">Introduction to Protocol Buffers</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Protocol Buffers (Protobuf) is a fundamental data serialization format that every Data Engineer or API Designer should know about. It is leveraged by many top tech companies such as Google, Netflix, and Uber and enables micro-services to transfer data in an efficient way.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Students or professionals who want to get ready to learn gRPC and/or want to learn about efficient data serialization/deserialization.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-protocol-buffers-lfs145/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-istio-lfs144x/">Introduction to Istio</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>This course is a practical introduction to Istio, designed for anyone who wishes to build on their knowledge of Linux, Docker, and Kubernetes to learn how to install and configure a service mesh and to understand the benefits of deploying and running distributed applications in a service mesh environment.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Application developers, systems operators, and security professionals who already have familiarity and experience with Kubernetes and who wish to take their first steps towards learning and understanding Istio.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-istio-lfs144x/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-service-mesh-with-linkerd-lfs143/">Introduction to Service Mesh with Linkerd</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Learn the basics of service mesh and get hands-on practical experience with Linkerd, the open source, open governance, ultralight service mesh for Kubernetes hosted by CNCF, including transparent mTLS, golden metrics, traffic shifting, and multi-cluster communication.</p> <p>Before enrolling, students should understand the core Kubernetes resource types and be comfortable reading and writing YAML. In addition, students should know how to work in a Linux terminal environment and run a Kubernetes cluster on their computer or in the cloud. It is also useful to be familiar with building container images and running them in Kubernetes using kubectl.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Site reliability engineers, DevOps professionals, cluster administrators, and developers who want to learn more about service mesh and Linkerd.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-service-mesh-with-linkerd-lfs143/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-backstage-developer-portals-made-easy-lfs142x/">Introduction to Backstage: Developer Portals Made Easy</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Developers working in cloud native teams face the challenge of shuffling between microservices, external APIs, libraries, and other software components. Developer portals like Backstage can help teams reduce tech fragmentation, knowledge silos, and lack of ownership while promoting creativity and autonomy.</p> <p>To make the most of this course, you should be familiar with source control systems and repositories and have basic knowledge of GitHub and JavaScript (especially React and Node.js). For learners using Windows, knowing how to install PostgreSQL locally is a plus.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> DevOps engineers and professionals interested in or working in Developer Productivity or Developer Experience teams.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-backstage-developer-portals-made-easy-lfs142x/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/webassembly-actors-from-cloud-to-edge-lfd134x/">WebAssembly Actors: From Cloud to Edge</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Learn about the portability, efficiency, and security of WebAssembly modules and how to leverage a number of open source frameworks to create distributed and seamlessly connected actors that can be deployed in a browser, on a laptop, in the cloud, on a Raspberry Pi, or practically anywhere.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Developers who have built or are building microservices and have experienced a high degree of friction in cloud native application development.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/webassembly-actors-from-cloud-to-edge-lfd134x/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/introduction-to-webassembly-lfd133/">Introduction to WebAssembly</a> </h2> <p class="is-style-boxed-uppercase">FREE</p> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>Get a solid foundation on the WebAssembly runtime and its capabilities, and learn how and why WebAssembly has succeeded in bringing new programming languages to the web, when others have failed.</p> <p>This course is designed to show you what the WebAssembly runtime is, and how it provides a secure, fast and efficient compilation target for a wide range of modern programming languages, allowing them to target the browser.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Beginner to Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <p><strong>Who It’s For:</strong> Web, cloud, and blockchain developers, architects, and CTOs interested in learning about WebAssembly’s strengths and limitations, and its potential applications in blockchain, serverless, edge/IoT, and more.</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: FREE</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/introduction-to-webassembly-lfd133/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> <div class="course-item"> <h2 class="course-item__title"> <a href="https://training.linuxfoundation.org/training/cloud-native-fuzzing-fundamentals-lfs251/">Cloud Native Fuzzing Fundamentals</a> </h2> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-20-40"></div> <div class="wp-block-columns is-style-70px-gap is-layout-flex wp-container-core-columns-layout-6 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <p>In this course you will learn the fundamentals of fuzzing, emphasizing identifying reliability and security vulnerabilities by applying fuzzing to real-world software packages. This course is designed for developers interested in securing and testing software and security engineers interested in security automation tools.</p> <p>By completing this course, you will apply fuzzing fundamentals to software testing, create fuzzers in various languages, and utilize OSS-Fuzz for continuous open source software testing while assessing project fuzzing status.</p> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Difficulty:</strong> Intermediate</p> <p><strong>Length:</strong> Online Self-Paced</p> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> <div class="wp-block-columns is-layout-flex wp-container-core-columns-layout-4 wp-block-columns-is-layout-flex"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:40%"> <p><strong>Cost: $299</strong></p> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:60%"> <div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex"> <div class="wp-block-button"> <a class="wp-block-button__link wp-element-button" href="https://training.linuxfoundation.org/training/cloud-native-fuzzing-fundamentals-lfs251/">register</a> </div> </div> <div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div> </div> </div> <div style="height:100px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> <hr class="wp-block-separator has-css-opacity is-style-shadow-line"/> <div style="height:40px" aria-hidden="true" class="wp-block-spacer is-style-40-80"></div> </div> </div> </div> </article> </main> <footer class="footer"> <div class="container wrap footer_container" id="inner-footer-container"> <div style="height:70px" aria-hidden="true" class="wp-block-spacer is-style-70-100"></div> <div class="newsletter" id="newsletter"> <p class="newsletter__title is-style-max-width-800"><strong>Subscribe</strong> for updates, event info, webinars, and the latest community news</p> <div style="height:60px" aria-hidden="true" class="wp-block-spacer is-style-20-60"></div> <script> window.hsFormsOnReady = window.hsFormsOnReady || []; window.hsFormsOnReady.push(()=>{ hbspt.forms.create({ portalId: 8112310, formId: "be1b038f-98de-43b5-b211-d5f7bf6510c9", target: "#hbspt-form-1732436626000-8438156475", region: "", })}); </script> <div class="hbspt-form" id="hbspt-form-1732436626000-8438156475"></div> <div style="height:30px" aria-hidden="true" class="wp-block-spacer is-style-30-40"></div> <p class="newsletter__privacy">By submitting this form, I consent to receive marketing emails from the LF and its projects regarding their events, training, research, developments, and related announcements. I understand that I can unsubscribe at any time using the links in the footers of the emails I receive. <a href="https://www.linuxfoundation.org/privacy/">Privacy Policy</a>.</p> <div style="height:60px" aria-hidden="true" class="wp-block-spacer is-style-30-60"></div> </div> <div class="horizontal-rule"></div> <div style="height:60px" aria-hidden="true" class="wp-block-spacer is-style-40-60"></div> <div class="lf-grid"> <nav class="width-10/12"> <div class="menu-footer_01-container"><ul id="menu-footer_01" class="menu"><li id="menu-item-71671" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71671 lf-menu-title">About Us</li> <li id="menu-item-112413" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112413"><a href="https://www.cncf.io/membership-hub/">Membership Hub</a></li> <li id="menu-item-71674" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71674"><a href="https://www.cncf.io/people/technical-oversight-committee/">Technical Oversight Committee</a></li> <li id="menu-item-71675" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71675"><a href="https://www.cncf.io/people/governing-board/">Governing Board</a></li> <li id="menu-item-102487" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-102487"><a href="https://www.cncf.io/people/end-user-technical-advisory-board/">End User TAB</a></li> <li id="menu-item-72638" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72638"><a href="https://www.cncf.io/people/ambassadors/">Ambassadors</a></li> <li id="menu-item-71722" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71722"><div class="lf-menu-divider"></div></li> <li id="menu-item-71672" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71672"><a href="https://www.cncf.io/about/who-we-are/">Who We Are</a></li> <li id="menu-item-71673" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71673"><a href="https://www.cncf.io/about/members/">Member Listing</a></li> <li id="menu-item-74275" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-74275"><a href="https://www.cncf.io/conduct/">Code of Conduct</a></li> <li id="menu-item-118515" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-118515"><a href="https://www.cncf.io/policies/">Policies</a></li> <li id="menu-item-71676" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71676"><a href="https://www.cncf.io/people/staff/">Staff</a></li> <li id="menu-item-71677" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71677"><a href="https://www.cncf.io/about/faq/">FAQ</a></li> <li id="menu-item-71678" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71678"><a href="https://www.cncf.io/about/contact/">Contact Us</a></li> </ul></div><div class="menu-footer_02-container"><ul id="menu-footer_02" class="menu"><li id="menu-item-71679" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71679 lf-menu-title">Projects</li> <li id="menu-item-71680" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71680"><a href="https://contribute.cncf.io"><span class="lf-external-link">Contribute</span></a></li> <li id="menu-item-103343" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-103343"><a href="https://contribute.cncf.io/resources/project-services/"><span class="lf-external-link">Services for CNCF Projects</span></a></li> <li id="menu-item-71682" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71682"><a href="https://landscape.cncf.io"><span class="lf-external-link">Cloud Native Landscape</span></a></li> <li id="menu-item-71724" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71724"><a href="https://www.cncf.io/reports/?_sft_lf-report-type=project-journey">Project Journey Reports</a></li> <li id="menu-item-72639" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72639"><a href="https://www.cncf.io/project-tools/">Project Tools</a></li> <li id="menu-item-71723" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71723"><div class="lf-menu-divider"></div></li> <li id="menu-item-71684" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71684"><a href="https://www.cncf.io/projects/">Graduated</a></li> <li id="menu-item-71685" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71685"><a href="https://www.cncf.io/projects/">Incubating</a></li> <li id="menu-item-71686" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71686"><a href="https://www.cncf.io/sandbox-projects/">Sandbox</a></li> <li id="menu-item-71687" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71687"><a href="https://www.cncf.io/archived-projects/">Archive</a></li> <li id="menu-item-94550" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94550"><a href="https://www.cncf.io/project-metrics/">Project Metrics</a></li> </ul></div><div class="menu-footer_03-container"><ul id="menu-footer_03" class="menu"><li id="menu-item-71688" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71688 lf-menu-title">Training</li> <li id="menu-item-97055" class="menu-item menu-item-type-post_type menu-item-object-page current-page-ancestor current-page-parent menu-item-97055"><a href="https://www.cncf.io/training/">Training Overview</a></li> <li id="menu-item-97053" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97053"><a href="https://www.cncf.io/training/certification/">Certifications</a></li> <li id="menu-item-97054" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-8132 current_page_item menu-item-97054"><a href="https://www.cncf.io/training/courses/" aria-current="page">Courses</a></li> <li id="menu-item-104458" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104458"><a href="https://www.cncf.io/training/kubestronaut/">Kubestronaut Program</a></li> <li id="menu-item-71725" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71725"><div class="lf-menu-divider"></div></li> <li id="menu-item-71691" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71691"><a href="https://www.cncf.io/training/kubernetes-training-partners/">KTP</a></li> <li id="menu-item-104421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-104421"><a href="https://www.cncf.io/training/cncf-endorsed-content/">CNCF Endorsed Content</a></li> <li id="menu-item-71689" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71689"><a href="https://www.cncf.io/training/certification/software-conformance/">Certified Kubernetes</a></li> <li id="menu-item-72642" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72642"><a href="https://www.cncf.io/training/certification/cnf/">CNF</a></li> <li id="menu-item-72641" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72641"><a href="https://www.cncf.io/training/certification/kcsp/">KCSP</a></li> </ul></div><div class="menu-footer_04-container"><ul id="menu-footer_04" class="menu"><li id="menu-item-71697" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71697 lf-menu-title">Community</li> <li id="menu-item-71698" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71698"><a href="https://www.cncf.io/enduser/">End User Community</a></li> <li id="menu-item-71699" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71699"><a href="https://www.cncf.io/events/">Events We’ll Be At</a></li> <li id="menu-item-71701" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71701"><a href="https://www.cncf.io/case-studies/">Case Studies</a></li> <li id="menu-item-72643" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-72643"><a href="https://www.cncf.io/humans-of-cloud-native/">Humans of Cloud Native</a></li> <li id="menu-item-120508" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-120508"><a href="https://www.cncf.io/heroes/">The Cloud Native Heroes Challenge</a></li> <li id="menu-item-71726" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71726"><div class="lf-menu-divider"></div></li> <li id="menu-item-71700" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71700"><a href="https://www.cncf.io/online-programs/">Online Programs</a></li> <li id="menu-item-71704" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71704"><a href="https://www.cncf.io/kubeweekly/">KubeWeekly</a></li> <li id="menu-item-71705" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71705"><a href="https://community.cncf.io"><span class="lf-external-link">Community Groups</span></a></li> <li id="menu-item-71706" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71706"><a href="https://www.cncf.io/phippy/">Phippy & Friends</a></li> <li id="menu-item-71707" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71707"><a href="https://glossary.cncf.io"><span class="lf-external-link">Cloud Native Glossary</span></a></li> <li id="menu-item-71727" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71727"><div class="lf-menu-divider"></div></li> <li id="menu-item-71708" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71708"><a href="https://jobs.cncf.io"><span class="lf-external-link">Job Board</span></a></li> <li id="menu-item-71709" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71709"><a href="https://slack.cncf.io/"><span class="lf-external-link">Slack</span></a></li> <li id="menu-item-71710" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71710"><a href="https://lists.cncf.io/g/main/subgroups"><span class="lf-external-link">Mailing Lists</span></a></li> <li id="menu-item-71711" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71711"><a href="https://store.cncf.io"><span class="lf-external-link">Store</span></a></li> <li id="menu-item-71712" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71712"><a href="https://www.cncf.io/calendar/">Calendar</a></li> </ul></div><div class="menu-footer_05-container"><ul id="menu-footer_05" class="menu"><li id="menu-item-71713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71713 lf-menu-title">Blog & News</li> <li id="menu-item-71714" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71714"><a href="https://www.cncf.io/blog/">Blog</a></li> <li id="menu-item-71715" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71715"><a href="https://www.cncf.io/announcements/">Announcements</a></li> <li id="menu-item-71716" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-71716"><a href="https://www.cncf.io/news/">News</a></li> <li id="menu-item-71717" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-71717"><a href="https://www.cncf.io/reports/">Reports</a></li> <li id="menu-item-71728" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71728"><div class="lf-menu-divider"></div></li> <li id="menu-item-75050" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-75050"><a href="https://www.cncf.io/brand-guidelines/">Brand Guidelines</a></li> <li id="menu-item-71719" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71719"><a href="https://github.com/cncf/artwork"><span class="lf-external-link">Project Logos</span></a></li> <li id="menu-item-71720" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71720"><a href="https://www.youtube.com/c/cloudnativefdn"><span class="lf-external-link">Videos</span></a></li> <li id="menu-item-71721" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-71721"><a href="https://www.flickr.com/photos/143247548@N03/albums/"><span class="lf-external-link">Pictures</span></a></li> </ul></div> </nav> <div class="footer__cta"> <a href="https://www.cncf.io/about/join/" class="wp-block-button__link has-no-padding">Join Now</a> </div> </div> <div style="height:80px" aria-hidden="true" class="wp-block-spacer is-style-30-80"></div> <div class="lf-grid"> <div class="footer__logo-and-hub"> <a class="footer__logo show-over-1000" href="/" title="Cloud Native Computing Foundation"> <img src="https://www.cncf.io/wp-content/uploads/2022/05/CNCF_logo_white.svg" loading="lazy" width="210" height="40" alt="Cloud Native Computing Foundation"> </a> <!-- All CNCF button --> <div class="footer__hub wp-block-buttons"> <div class="wp-block-button"><a href="https://www.cncf.io/all-cncf/" class="wp-block-button__link wp-element-button">All CNCF Sites</a></div> </div> </div> <ul class="social-links"> <li class="social-twitter"><a title="Cloud Native Computing Foundation on X" href="https://twitter.com/cloudnativefdn"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 300 300" aria-label="X"><path fill="currentColor" d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"/></svg> </a></li> <li class="social-github"><a title="Cloud Native Computing Foundation on Github" href="https://github.com/cncf"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-0.1 0.21 24.7 24.14" aria-label="GitHub"><path fill="currentColor" d="M24.188 12.63A11.893 11.893 0 0 0 3.887 4.221a11.893 11.893 0 0 0-1.272 15.317 11.899 11.899 0 0 0 5.81 4.34 1.14 1.14 0 0 0 .612-.885c0-.654-.014-2.337-.014-2.337-.415.061-.834.09-1.253.088a2.692 2.692 0 0 1-2.722-1.837 3.22 3.22 0 0 0-1.336-1.585c-.308-.198-.379-.431-.023-.498 1.643-.308 2.064 1.853 3.16 2.198.76.236 1.58.17 2.293-.183.1-.614.44-1.165.943-1.531-2.791-.267-4.446-1.232-5.304-2.781l-.092-.174-.216-.492-.064-.176a8.34 8.34 0 0 1-.386-2.694A4.596 4.596 0 0 1 5.334 7.58a4.765 4.765 0 0 1 .207-3.43s1.208-.248 3.492 1.378c1.237-.528 4.538-.571 6.1-.117.957-.63 2.71-1.524 3.417-1.274.193.307.604 1.2.25 3.164a5.523 5.523 0 0 1 1.493 3.942 10.198 10.198 0 0 1-.305 2.444l-.103.349s-.06.165-.123.322l-.075.173c-.828 1.809-2.527 2.484-5.274 2.766.89.557 1.144 1.256 1.144 3.146s-.025 2.144-.02 2.578a1.199 1.199 0 0 0 .59.87 11.9 11.9 0 0 0 8.06-11.26z"/></svg></a></li> <li class="social-linkedin"><a title="Cloud Native Computing Foundation on LinkedIn" href="https://www.linkedin.com/company/cloud-native-computing-foundation/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-10.23 -10.23 531.96 531.96" aria-label="LinkedIn"><rect width="512" height="512" rx="0" fill="currentColor"/><circle fill="#000" cx="142" cy="138" r="37"/><path stroke="#000" stroke-width="66" d="M244 194v198M142 194v198"/><path fill="#000" d="M276 282c0-20 13-40 36-40 24 0 33 18 33 45v105h66V279c0-61-32-89-76-89-34 0-51 19-59 32"/></svg></a></li> <li class="social-instagram"><a title="Cloud Native Computing Foundation on Instagram" href="https://www.instagram.com/cloudnativecomputingfoundation/"><svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m12 0c-3.26 0-3.667.015-4.947.072-1.278.06-2.148.261-2.913.558-.789.306-1.459.717-2.126 1.384s-1.079 1.336-1.384 2.126c-.297.765-.499 1.635-.558 2.913-.06 1.28-.072 1.687-.072 4.947s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558 1.28.06 1.687.072 4.947.072s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126-.667-.667-1.335-1.079-2.126-1.384-.765-.297-1.636-.499-2.913-.558-1.28-.06-1.687-.072-4.947-.072zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zm0 10.162c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44s.646-1.439 1.44-1.439c.793-.001 1.44.645 1.44 1.439z"/></svg></a></li> <li class="social-wechat"><a title="Cloud Native Computing Foundation on WeChat" href="https://www.cncf.io/wechat/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0.14 -0.17 38.02 33.02" aria-label="Wechat"><path fill="currentColor" d="M26.289 10.976a12.972 12.972 0 0 0-8.742 3.53 10.386 10.386 0 0 0-3.224 8.795c-1.326-.164-2.535-.345-3.75-.448a2.332 2.332 0 0 0-1.273.216c-1.18.666-2.311 1.418-3.652 2.255.246-1.112.405-2.087.687-3.024a1.15 1.15 0 0 0-.523-1.52C1.737 17.902.02 13.601 1.307 9.165c1.189-4.1 4.11-6.587 8.077-7.884A13.54 13.54 0 0 1 24.18 5.617a10.135 10.135 0 0 1 2.109 5.359zM10.668 9.594a1.564 1.564 0 0 0-2.095-1.472 1.52 1.52 0 0 0-.895 1.964 1.502 1.502 0 0 0 1.391.966 1.545 1.545 0 0 0 1.598-1.46v.002zm8.15-1.566a1.567 1.567 0 0 0-1.528 1.543 1.528 1.528 0 0 0 1.571 1.492 1.52 1.52 0 0 0 1.375-2.117 1.518 1.518 0 0 0-1.415-.919l-.003.001z"/><path fill="currentColor" d="M33.914 32.137c-1.075-.478-2.062-1.196-3.11-1.306-1.049-.11-2.145.494-3.24.605a10.821 10.821 0 0 1-8.781-2.864c-4.682-4.33-4.013-10.97 1.403-14.518 4.811-3.154 11.874-2.102 15.268 2.273a8.671 8.671 0 0 1-1.002 12.095c-1.046.929-1.422 1.693-.751 2.917.102.257.174.525.213.798zM21.68 20.292a1.264 1.264 0 1 0 .01-2.528 1.264 1.264 0 0 0-.01 2.528zm7.887-2.526a1.266 1.266 0 0 0-1.256 1.21 1.247 1.247 0 1 0 1.256-1.21z"/></svg></a></li> <li class="social-youtube"><a title="Cloud Native Computing Foundation on YouTube" href="https://www.youtube.com/c/cloudnativefdn"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0.21 0.27 34.45 25.07" aria-label="YouTube"><path fill="currentColor" d="M33.729 6.084s-.327-2.33-1.317-3.356a4.691 4.691 0 0 0-3.32-1.432c-4.634-.34-11.589-.34-11.589-.34h-.014s-6.954 0-11.59.342a4.692 4.692 0 0 0-3.32 1.432c-.993 1.025-1.315 3.354-1.315 3.354a52.189 52.189 0 0 0-.331 5.473v2.566c.014 1.829.125 3.656.331 5.472 0 0 .322 2.33 1.316 3.36 1.26 1.345 2.916 1.3 3.653 1.445 2.65.26 11.263.34 11.263.34s6.96-.01 11.597-.353a4.691 4.691 0 0 0 3.32-1.432c.993-1.026 1.316-3.356 1.316-3.356.206-1.817.316-3.644.33-5.473v-2.57a52.26 52.26 0 0 0-.33-5.472zM14.076 17.232V7.729l8.951 4.768-8.95 4.735z"/></svg></a></li> <li class="social-flickr"><a title="Cloud Native Computing Foundation on Flickr" href="https://www.flickr.com/photos/143247548@N03/albums"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-0.35 0.34 27.82 13.45" aria-label="Flickr"><path fill="currentColor" fill-rule="evenodd" d="M12.599 7.083a6.181 6.181 0 1 1-12.363 0 6.181 6.181 0 0 1 12.363 0zm14.376 0a6.18 6.18 0 1 1-12.362 0 6.18 6.18 0 0 1 12.362 0z" clip-rule="evenodd"/></svg></a></li> <li class="social-facebook"><a title="Cloud Native Computing Foundation on Facebook" href="https://www.facebook.com/CloudNativeComputingFoundation/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="-0.51 -0.26 26.45 26.45" aria-label="Facebook"><path fill="currentColor" d="M25.497 13.075c0-2.45-.698-4.848-2.011-6.911a12.765 12.765 0 0 0-5.398-4.73A12.671 12.671 0 0 0 11.008.38a12.705 12.705 0 0 0-6.529 2.95A12.827 12.827 0 0 0 .563 9.358a12.896 12.896 0 0 0-.07 7.201 12.831 12.831 0 0 0 3.801 6.103 12.709 12.709 0 0 0 6.471 3.078v-8.957H7.53v-3.708h3.235v-2.824c0-3.213 1.903-4.988 4.813-4.988.956.014 1.909.097 2.852.25V8.67h-1.607a1.83 1.83 0 0 0-1.518.497 1.854 1.854 0 0 0-.561 1.505v2.404h3.535l-.563 3.708h-2.97v8.957a12.725 12.725 0 0 0 7.697-4.337 12.87 12.87 0 0 0 3.054-8.328z"/></svg></a></li> <li class="social-bluesky"><a title="Cloud Native Computing Foundation on Bluesky" href="https://bsky.app/profile/cncf.io"><svg aria-label="Bluesky" fill="none" height="23" viewbox="0 0 26 23" width="26" xmlns="http://www.w3.org/2000/svg"><path d="m5.81085 1.81485c-2.0472-1.60851-5.410459-2.778339-5.410459 1.0236 0 .80426.438685 6.43406.658029 7.38455.95048 3.1439 4.16751 3.9482 7.09208 3.5095-5.04488.8042-6.36094 3.6557-3.5826 6.5072 5.26423 5.4835 7.6039-1.3161 8.1888-3.0708l.1462-.3656.1463.3656c.5849 1.7547 2.9245 8.5543 8.1888 3.0708 2.7783-2.8515 1.4622-5.703-3.5826-6.5072 2.9245.4387 6.1416-.3656 7.092-3.5095.2194-.95049.6581-6.58029.6581-7.38455 0-3.801939-3.3633-2.63211-5.4105-1.0236-2.8514 2.12032-5.9954 6.50717-7.0921 8.84685-1.0967-2.33968-4.2406-6.72653-7.09205-8.84685z" fill="currentColor"/></svg></a></li> <li class="social-slack"><a title="Cloud Native Computing Foundation Slack" href="https://slack.cncf.io/"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0.16 -0.03 21.19 21.19" aria-label="Slack"><path fill="currentColor" d="M4.896 13.27a2.147 2.147 0 0 1-2.141 2.142A2.147 2.147 0 0 1 .613 13.27c0-1.178.963-2.141 2.142-2.141h2.141v2.141zm1.08 0c0-1.178.962-2.141 2.141-2.141s2.142.963 2.142 2.141v5.363a2.147 2.147 0 0 1-2.142 2.141 2.147 2.147 0 0 1-2.141-2.142V13.27zm2.141-8.6a2.147 2.147 0 0 1-2.141-2.14c0-1.18.962-2.142 2.141-2.142s2.142.963 2.142 2.141v2.142H8.117zm0 1.08c1.179 0 2.141.962 2.141 2.141a2.147 2.147 0 0 1-2.141 2.142H2.755A2.147 2.147 0 0 1 .613 7.89c0-1.179.963-2.141 2.142-2.141h5.362zm8.599 2.141c0-1.179.963-2.141 2.141-2.141 1.179 0 2.143.962 2.143 2.14a2.147 2.147 0 0 1-2.142 2.142h-2.141V7.89zm-1.08 0a2.147 2.147 0 0 1-2.141 2.142 2.147 2.147 0 0 1-2.141-2.142V2.53c0-1.178.962-2.141 2.141-2.141s2.142.963 2.142 2.141v5.362zm-2.141 8.6c1.179 0 2.142.962 2.142 2.14a2.147 2.147 0 0 1-2.142 2.142 2.147 2.147 0 0 1-2.141-2.141V16.49h2.141zm0-1.08a2.147 2.147 0 0 1-2.141-2.141c0-1.179.962-2.142 2.141-2.142h5.362c1.179 0 2.142.963 2.142 2.142a2.147 2.147 0 0 1-2.142 2.142h-5.362z"/></svg></a></li> </ul> </div> <div style="height:40px" aria-hidden="true" class="wp-block-spacer show-over-1000"></div> <div class="horizontal-rule show-over-1000"></div> <div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div> <div class="lf-grid"> <div class="footer__copyright"> <p>Copyright © 2024 The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our <a href="https://www.linuxfoundation.org/legal/trademark-usage">Trademark Usage</a> page. Linux is a registered trademark of Linus Torvalds. <a href="https://www.linuxfoundation.org/legal/privacy-policy">Privacy Policy</a> and <a href="https://www.linuxfoundation.org/legal/terms">Terms of Use</a>. </p> </div> <p class="footer__issue"> <a href="https://www.cncf.io/accessibility-statement/">Accessibility Statement</a><br> <a href="https://github.com/cncf/cncf.io/issues/new?title=Your+issue&projects=cncf/cncf.io/1&body=From+URL%3A+https%3A%2F%2Fwww.cncf.io%2Ftraining%2Fcourses%2F">Submit an issue with this page</a> </p> </div> <div style="height:90px" aria-hidden="true" class="wp-block-spacer"> </div> </div> </footer> <div class="back-to-top"> <span title="Go to top"> <svg width="40" height="27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 23.5l17-17 17 17" stroke="#fff" stroke-width="8"/></svg> </span> </div> <style id='wp-block-paragraph-inline-css'> .is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} </style> <style id='wp-block-heading-inline-css'> h1.has-background,h2.has-background,h3.has-background,h4.has-background,h5.has-background,h6.has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} </style> <style id='wp-block-spacer-inline-css'> .wp-block-spacer{clear:both} </style> <style id='wp-block-group-inline-css'> .wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative} </style> <style id='wp-block-group-theme-inline-css'> :where(.wp-block-group.has-background){padding:1.25em 2.375em} </style> <style id='wp-block-columns-inline-css'> .wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} </style> <style id='wp-block-separator-inline-css'> @charset "UTF-8";.wp-block-separator{border:none;border-top:2px solid}:root :where(.wp-block-separator.is-style-dots){height:auto;line-height:1;text-align:center}:root :where(.wp-block-separator.is-style-dots):before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-separator.is-style-dots{background:none!important;border:none!important} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #FFFFFF;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--pink-400: #d62293;--wp--preset--color--tertiary-400: #62a1ff;--wp--preset--color--gray-700: #747474;--wp--preset--color--gray-500: #c4c4c4;--wp--preset--color--gray-400: #e6e6e6;--wp--preset--color--gray-300: #eeeeee;--wp--preset--color--gray-200: #f8f8f8;--wp--preset--color--gray-100: #fcfcfc;--wp--preset--color--gray-050: #fdfdfd;--wp--preset--color--purple: #4A23CC;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 14px;--wp--preset--font-size--medium: 18px;--wp--preset--font-size--large: 20px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--extra-small: 10px;--wp--preset--font-size--normal: 16px;--wp--preset--font-size--larger: 24px;--wp--preset--font-size--extra-large: 36px;--wp--preset--font-size--extra-extra-large: 46px;--wp--preset--font-family--primary: Clarity City,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Roboto,Ubuntu,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;--wp--preset--font-family--serif: Source Serif Pro, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}.wp-block-button .wp-block-button__link{--wp--preset--color--pink-400: #d62293;--wp--preset--color--black: #000000;}:root { --wp--style--global--content-size: 1200px;--wp--style--global--wide-size: 1200px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--gray-050);color: var(--wp--preset--color--black);font-family: var(--wp--preset--font-family--primary);font-weight: 400;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;text-decoration: none;}a:where(:not(.wp-element-button)){color: var(--wp--preset--color--pink-400);font-weight: 700;text-decoration: none;}h1, h2, h3, h4, h5, h6{color: var(--wp--preset--color--black);font-weight: 700;}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--pink-400);border-radius: 5px;border-width: 0;color: var(--wp--preset--color--white);font-family: inherit;font-size: 16px;font-weight: 700;letter-spacing: 0.02em;line-height: 18px;padding-top: 11px;padding-right: 40px;padding-bottom: 11px;padding-left: 40px;text-decoration: none;text-transform: uppercase;}:root :where(.wp-element-button:visited, .wp-block-button__link:visited){color: var(--wp--preset--color--white);text-decoration: none;}:root :where(.wp-element-button:hover, .wp-block-button__link:hover){background-color: #c53490;color: var(--wp--preset--color--white);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-pink-400-color{color: var(--wp--preset--color--pink-400) !important;}.has-tertiary-400-color{color: var(--wp--preset--color--tertiary-400) !important;}.has-gray-700-color{color: var(--wp--preset--color--gray-700) !important;}.has-gray-500-color{color: var(--wp--preset--color--gray-500) !important;}.has-gray-400-color{color: var(--wp--preset--color--gray-400) !important;}.has-gray-300-color{color: var(--wp--preset--color--gray-300) !important;}.has-gray-200-color{color: var(--wp--preset--color--gray-200) !important;}.has-gray-100-color{color: var(--wp--preset--color--gray-100) !important;}.has-gray-050-color{color: var(--wp--preset--color--gray-050) !important;}.has-purple-color{color: var(--wp--preset--color--purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-pink-400-background-color{background-color: var(--wp--preset--color--pink-400) !important;}.has-tertiary-400-background-color{background-color: var(--wp--preset--color--tertiary-400) !important;}.has-gray-700-background-color{background-color: var(--wp--preset--color--gray-700) !important;}.has-gray-500-background-color{background-color: var(--wp--preset--color--gray-500) !important;}.has-gray-400-background-color{background-color: var(--wp--preset--color--gray-400) !important;}.has-gray-300-background-color{background-color: var(--wp--preset--color--gray-300) !important;}.has-gray-200-background-color{background-color: var(--wp--preset--color--gray-200) !important;}.has-gray-100-background-color{background-color: var(--wp--preset--color--gray-100) !important;}.has-gray-050-background-color{background-color: var(--wp--preset--color--gray-050) !important;}.has-purple-background-color{background-color: var(--wp--preset--color--purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-pink-400-border-color{border-color: var(--wp--preset--color--pink-400) !important;}.has-tertiary-400-border-color{border-color: var(--wp--preset--color--tertiary-400) !important;}.has-gray-700-border-color{border-color: var(--wp--preset--color--gray-700) !important;}.has-gray-500-border-color{border-color: var(--wp--preset--color--gray-500) !important;}.has-gray-400-border-color{border-color: var(--wp--preset--color--gray-400) !important;}.has-gray-300-border-color{border-color: var(--wp--preset--color--gray-300) !important;}.has-gray-200-border-color{border-color: var(--wp--preset--color--gray-200) !important;}.has-gray-100-border-color{border-color: var(--wp--preset--color--gray-100) !important;}.has-gray-050-border-color{border-color: var(--wp--preset--color--gray-050) !important;}.has-purple-border-color{border-color: var(--wp--preset--color--purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-extra-small-font-size{font-size: var(--wp--preset--font-size--extra-small) !important;}.has-normal-font-size{font-size: var(--wp--preset--font-size--normal) !important;}.has-larger-font-size{font-size: var(--wp--preset--font-size--larger) !important;}.has-extra-large-font-size{font-size: var(--wp--preset--font-size--extra-large) !important;}.has-extra-extra-large-font-size{font-size: var(--wp--preset--font-size--extra-extra-large) !important;}.has-primary-font-family{font-family: var(--wp--preset--font-family--primary) !important;}.has-serif-font-family{font-family: var(--wp--preset--font-family--serif) !important;}.wp-block-button .wp-block-button__link.has-pink-400-color{color: var(--wp--preset--color--pink-400) !important;}.wp-block-button .wp-block-button__link.has-black-color{color: var(--wp--preset--color--black) !important;}.wp-block-button .wp-block-button__link.has-pink-400-background-color{background-color: var(--wp--preset--color--pink-400) !important;}.wp-block-button .wp-block-button__link.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.wp-block-button .wp-block-button__link.has-pink-400-border-color{border-color: var(--wp--preset--color--pink-400) !important;}.wp-block-button .wp-block-button__link.has-black-border-color{border-color: var(--wp--preset--color--black) !important;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} </style> <style id='core-block-supports-inline-css'> .wp-container-core-columns-is-layout-1{flex-wrap:nowrap;} </style> <script id="flying-pages-js-before"> window.FPConfig= { delay: 10, ignoreKeywords: ["\/wp-admin","\/wp-login.php","\/cart","add-to-cart","logout","#","?",".png",".jpeg",".jpg",".gif",".svg"], maxRPS: 3, hoverDelay: 50 }; </script> <script defer src="https://www.cncf.io/wp-content/plugins/flying-pages/flying-pages.min.js?ver=2.4.6" id="flying-pages-js"></script> <script id="leadin-script-loader-js-js-extra"> var leadin_wordpress = {"userRole":"visitor","pageType":"page","leadinPluginVersion":"11.1.65"}; </script> <script defer id="leadin-script-loader-js-js" data-type="lazy" data-src="https://js.hs-scripts.com/8112310.js?integration=WordPress&businessUnitId=983905&ver=11.1.65"></script> <script defer src="https://www.cncf.io/wp-content/themes/cncf-twenty-two/build/globals.min.js?ver=1732320241" id="global-scripts-js"></script> <script src="https://www.cncf.io/wp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script id="search-filter-plugin-build-js-extra"> var SF_LDATA = {"ajax_url":"https:\/\/www.cncf.io\/wp\/wp-admin\/admin-ajax.php","home_url":"https:\/\/www.cncf.io\/","extensions":[]}; </script> <script defer src="https://www.cncf.io/wp-content/plugins/search-filter-pro/public/assets/js/search-filter-build.min.js?ver=2.5.19" id="search-filter-plugin-build-js"></script> <script src="https://www.cncf.io/wp-content/plugins/search-filter-pro/public/assets/js/chosen.jquery.min.js?ver=2.5.19" id="search-filter-plugin-chosen-js"></script> <script src="https://www.cncf.io/wp/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script src="https://www.cncf.io/wp/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.13.3" id="jquery-ui-datepicker-js"></script> <script defer id="leadin-forms-v2-js" data-type="lazy" data-src="https://js.hsforms.net/forms/embed/v2.js?ver=11.1.65"></script> <script type="text/javascript" id="flying-scripts">const loadScriptsTimer=setTimeout(loadScripts,10*1000);const userInteractionEvents=["mouseover","keydown","touchstart","touchmove","wheel"];userInteractionEvents.forEach(function(event){window.addEventListener(event,triggerScriptLoader,{passive:!0})});function triggerScriptLoader(){loadScripts();clearTimeout(loadScriptsTimer);userInteractionEvents.forEach(function(event){window.removeEventListener(event,triggerScriptLoader,{passive:!0})})} function loadScripts(){document.querySelectorAll("script[data-type='lazy']").forEach(function(elem){elem.setAttribute("src",elem.getAttribute("data-src"))})}</script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-97e2229449e282c1bef","applicationID":"643908501","transactionName":"MVFSYxFWXhICUxdaXggbcVQXXl8PTEACVFQ=","queueTime":0,"applicationTime":630,"atts":"HRZRFVlMTRw=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>