Files
awesome-kubernetes/openshift.html
2026-05-15 15:14:21 +00:00

8817 lines
153 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="A curated list of awesome IT projects and resources. Inspired by the awesome list.">
<meta name="author" content="nubenetes@gmail.com">
<link rel="canonical" href="https://nubenetes.com/openshift.html">
<link rel="prev" href="kubernetes-alternatives.html">
<link rel="next" href="ocp3.html">
<link rel="icon" href="images/favicon-car.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
<title>OpenShift docs - Nubenetes</title>
<link rel="stylesheet" href="assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="static/extra.css">
<script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",""),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
<script>if("undefined"!=typeof __md_analytics){var consent=__md_get("__consent");consent&&consent.analytics&&__md_analytics()}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="red">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#openshift-container-platform" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="index.html" title="Nubenetes" class="md-header__button md-logo" aria-label="Nubenetes" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 89">
<path d="M3.136,17.387l0,42.932l42.932,21.467l-42.932,-64.399Z" />
<path d="M21.91,8l42.933,64.398l-18.775,9.388l-42.932,-64.399l18.774,-9.387Z" style="fill-opacity: 0.5" />
<path d="M67.535,17.387l-27.262,18.156l21.878,32.818l5.384,2.691l0,-53.665Z" />
<path d="M67.535,17.387l0,53.666l18.774,-9.388l0,-53.665l-18.774,9.387Z" style="fill-opacity: 0.25" />
</svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Nubenetes
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
OpenShift docs
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4M7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="light-blue" data-md-color-accent="yellow" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg>
</a>
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/nubenetes/awesome-kubernetes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
nubenetes/awesome-kubernetes
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="https://nubenetes.com/v2/" class="md-tabs__link">
🚀 Try Nubenetes V2 (Elite)
</a>
</li>
<li class="md-tabs__item">
<a href="index.html" class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="introduction.html" class="md-tabs__link">
Intro
</a>
</li>
<li class="md-tabs__item">
<a href="sre.html" class="md-tabs__link">
SRE
</a>
</li>
<li class="md-tabs__item">
<a href="devops.html" class="md-tabs__link">
DevOps
</a>
</li>
<li class="md-tabs__item">
<a href="devsecops.html" class="md-tabs__link">
DevSecOps
</a>
</li>
<li class="md-tabs__item">
<a href="noops.html" class="md-tabs__link">
NoOps
</a>
</li>
<li class="md-tabs__item">
<a href="docker.html" class="md-tabs__link">
Docker
</a>
</li>
<li class="md-tabs__item">
<a href="kubernetes.html" class="md-tabs__link">
K8s
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="openshift.html" class="md-tabs__link">
OpenShift
</a>
</li>
<li class="md-tabs__item">
<a href="rancher.html" class="md-tabs__link">
Rancher
</a>
</li>
<li class="md-tabs__item">
<a href="cicd.html" class="md-tabs__link">
CI/CD
</a>
</li>
<li class="md-tabs__item">
<a href="monitoring.html" class="md-tabs__link">
Montrg
</a>
</li>
<li class="md-tabs__item">
<a href="iac.html" class="md-tabs__link">
Infra Prov
</a>
</li>
<li class="md-tabs__item">
<a href="ansible.html" class="md-tabs__link">
Config Mgmt
</a>
</li>
<li class="md-tabs__item">
<a href="databases.html" class="md-tabs__link">
DB
</a>
</li>
<li class="md-tabs__item">
<a href="message-queue.html" class="md-tabs__link">
Data Pipeline
</a>
</li>
<li class="md-tabs__item">
<a href="servicemesh.html" class="md-tabs__link">
Service Mesh
</a>
</li>
<li class="md-tabs__item">
<a href="demos.html" class="md-tabs__link">
Demos
</a>
</li>
<li class="md-tabs__item">
<a href="public-cloud-solutions.html" class="md-tabs__link">
Cloud
</a>
</li>
<li class="md-tabs__item">
<a href="api.html" class="md-tabs__link">
APIs
</a>
</li>
<li class="md-tabs__item">
<a href="devel-sites.html" class="md-tabs__link">
Dev
</a>
</li>
<li class="md-tabs__item">
<a href="qa.html" class="md-tabs__link">
QA
</a>
</li>
<li class="md-tabs__item">
<a href="ai.html" class="md-tabs__link">
AI
</a>
</li>
<li class="md-tabs__item">
<a href="project-management-methodology.html" class="md-tabs__link">
Project Mgmt
</a>
</li>
<li class="md-tabs__item">
<a href="other-awesome-lists.html" class="md-tabs__link">
Refs+
</a>
</li>
<li class="md-tabs__item">
<a href="recruitment.html" class="md-tabs__link">
Hiring
</a>
</li>
<li class="md-tabs__item">
<a href="customer.html" class="md-tabs__link">
Clients
</a>
</li>
<li class="md-tabs__item">
<a href="about.html" class="md-tabs__link">
About
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="index.html" title="Nubenetes" class="md-nav__button md-logo" aria-label="Nubenetes" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 89 89">
<path d="M3.136,17.387l0,42.932l42.932,21.467l-42.932,-64.399Z" />
<path d="M21.91,8l42.933,64.398l-18.775,9.388l-42.932,-64.399l18.774,-9.387Z" style="fill-opacity: 0.5" />
<path d="M67.535,17.387l-27.262,18.156l21.878,32.818l5.384,2.691l0,-53.665Z" />
<path d="M67.535,17.387l0,53.666l18.774,-9.388l0,-53.665l-18.774,9.387Z" style="fill-opacity: 0.25" />
</svg>
</a>
Nubenetes
</label>
<div class="md-nav__source">
<a href="https://github.com/nubenetes/awesome-kubernetes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
nubenetes/awesome-kubernetes
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="https://nubenetes.com/v2/" class="md-nav__link">
<span class="md-ellipsis">
🚀 Try Nubenetes V2 (Elite)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="index.html" class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
Intro
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Intro
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="introduction.html" class="md-nav__link">
<span class="md-ellipsis">
Microservice Architecture. From Java EE To Cloud Native. Openshift VS Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" class="md-nav__link">
<span class="md-ellipsis">
Microservices FAQ & Kubernetes Native
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
SRE
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
SRE
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="sre.html" class="md-nav__link">
<span class="md-ellipsis">
SRE Site Reliability Engineering
</span>
</a>
</li>
<li class="md-nav__item">
<a href="networking.html" class="md-nav__link">
<span class="md-ellipsis">
Networking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="finops.html" class="md-nav__link">
<span class="md-ellipsis">
FinOps. Cloud Financial Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="chaos-engineering.html" class="md-nav__link">
<span class="md-ellipsis">
Chaos Engineering
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
DevOps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
DevOps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devops.html" class="md-nav__link">
<span class="md-ellipsis">
DevOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="gitops.html" class="md-nav__link">
<span class="md-ellipsis">
GitOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mlops.html" class="md-nav__link">
<span class="md-ellipsis">
MLOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cheatsheets.html" class="md-nav__link">
<span class="md-ellipsis">
Cheat Sheets
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-ellipsis">
DevSecOps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
DevSecOps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devsecops.html" class="md-nav__link">
<span class="md-ellipsis">
DevSecOps. Container Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="securityascode.html" class="md-nav__link">
<span class="md-ellipsis">
Security Policy as Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="oauth.html" class="md-nav__link">
<span class="md-ellipsis">
OAuth2
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
NoOps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
NoOps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="noops.html" class="md-nav__link">
<span class="md-ellipsis">
NoOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="serverless.html" class="md-nav__link">
<span class="md-ellipsis">
Serverless Architectures & Frameworks. OpenFaaS, Knative & Kubeless
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="docker.html" class="md-nav__link">
<span class="md-ellipsis">
Docker
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-ellipsis">
K8s
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
K8s
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="kubernetes.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-tutorials.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Tutorials
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-tools.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Plugins, Tools, Extensions and Projects
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubectl-commands.html" class="md-nav__link">
<span class="md-ellipsis">
kubectl Commands
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-networking.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Networking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-monitoring.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Monitoring and Logging
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-security.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-storage.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Storage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-backup-migrations.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Backup and Migrations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-autoscaling.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Autoscaling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-operators-controllers.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Operators and Controllers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-based-devel.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Based Development
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-on-premise.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes On Premise
</span>
</a>
</li>
<li class="md-nav__item">
<a href="managed-kubernetes-in-public-cloud.html" class="md-nav__link">
<span class="md-ellipsis">
Managed kubernetes in public clouds
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-troubleshooting.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Troubleshooting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-releases.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Releases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-newsletters.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Newsletters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="matrix-table.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Distributions & Installers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-bigdata.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes Big Data
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-alternatives.html" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes alternatives
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" checked>
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="">
<span class="md-ellipsis">
OpenShift
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
OpenShift
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
OpenShift docs
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="openshift.html" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
OpenShift docs
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#openshift" class="md-nav__link">
<span class="md-ellipsis">
OpenShift
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-streaming-and-training" class="md-nav__link">
<span class="md-ellipsis">
OpenShift Streaming and Training
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-on-public-cloud" class="md-nav__link">
<span class="md-ellipsis">
OpenShift on Public Cloud
</span>
</a>
<nav class="md-nav" aria-label="OpenShift on Public Cloud">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#azure-red-hat-openshift-aro" class="md-nav__link">
<span class="md-ellipsis">
Azure Red Hat OpenShift ARO
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#blogs" class="md-nav__link">
<span class="md-ellipsis">
Blogs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#meetings" class="md-nav__link">
<span class="md-ellipsis">
Meetings
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#differences-in-developing-on-openshift-as-opposed-to-other-kubernetes-distributions" class="md-nav__link">
<span class="md-ellipsis">
Differences in developing on OpenShift as opposed to other Kubernetes distributions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#red-hats-approach-to-kubernetes-standardization" class="md-nav__link">
<span class="md-ellipsis">
Red Hat&rsquo;s approach to Kubernetes. Standardization
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshiftio-online-ide" class="md-nav__link">
<span class="md-ellipsis">
OpenShift.io online IDE
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#oc-cli-auto-completion" class="md-nav__link">
<span class="md-ellipsis">
OC CLI Auto Completion
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cluster-autoscaler-in-openshift" class="md-nav__link">
<span class="md-ellipsis">
Cluster Autoscaler in OpenShift
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#e-books" class="md-nav__link">
<span class="md-ellipsis">
e-Books
</span>
</a>
<nav class="md-nav" aria-label="e-Books">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#kubernetes-e-books" class="md-nav__link">
<span class="md-ellipsis">
Kubernetes e-Books
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#online-learning" class="md-nav__link">
<span class="md-ellipsis">
Online Learning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#local-installers" class="md-nav__link">
<span class="md-ellipsis">
Local Installers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cloud-native-development-architecture-architectural-diagrams" class="md-nav__link">
<span class="md-ellipsis">
Cloud Native Development Architecture. Architectural Diagrams
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#cluster-installers" class="md-nav__link">
<span class="md-ellipsis">
Cluster Installers
</span>
</a>
<nav class="md-nav" aria-label="Cluster Installers">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#okd-3" class="md-nav__link">
<span class="md-ellipsis">
OKD 3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-3" class="md-nav__link">
<span class="md-ellipsis">
OpenShift 3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-4" class="md-nav__link">
<span class="md-ellipsis">
OpenShift 4
</span>
</a>
<nav class="md-nav" aria-label="OpenShift 4">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#openshift-4-deployment-on-vmware-vsphere" class="md-nav__link">
<span class="md-ellipsis">
OpenShift 4 deployment on VMWare vSphere
</span>
</a>
<nav class="md-nav" aria-label="OpenShift 4 deployment on VMWare vSphere">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#deploying-openshift-44-to-vmware-vsphere-7" class="md-nav__link">
<span class="md-ellipsis">
Deploying OpenShift 4.4 to VMware vSphere 7
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#networking-ocp-3-and-ocp-4" class="md-nav__link">
<span class="md-ellipsis">
Networking (OCP 3 and OCP 4)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#security" class="md-nav__link">
<span class="md-ellipsis">
Security
</span>
</a>
<nav class="md-nav" aria-label="Security">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#how-is-openshift-container-platform-secured" class="md-nav__link">
<span class="md-ellipsis">
How is OpenShift Container Platform Secured?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#security-context-constraints" class="md-nav__link">
<span class="md-ellipsis">
Security Context Constraints
</span>
</a>
<nav class="md-nav" aria-label="Security Context Constraints">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#review-security-context-constraints" class="md-nav__link">
<span class="md-ellipsis">
Review Security Context Constraints
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#openshift-network-model-network-policy" class="md-nav__link">
<span class="md-ellipsis">
OpenShift Network Model &amp; Network Policy
</span>
</a>
<nav class="md-nav" aria-label="OpenShift Network Model &amp; Network Policy">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#network-security-zones" class="md-nav__link">
<span class="md-ellipsis">
Network Security Zones
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-route-and-openshift-ingress" class="md-nav__link">
<span class="md-ellipsis">
OpenShift Route and OpenShift Ingress
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-egress" class="md-nav__link">
<span class="md-ellipsis">
OpenShift Egress
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#openshift-compliant-docker-images" class="md-nav__link">
<span class="md-ellipsis">
Openshift Compliant Docker Images
</span>
</a>
<nav class="md-nav" aria-label="Openshift Compliant Docker Images">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#gitlab" class="md-nav__link">
<span class="md-ellipsis">
Gitlab
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#atlassian-confluence6" class="md-nav__link">
<span class="md-ellipsis">
Atlassian Confluence6
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#sonatype-nexus-3" class="md-nav__link">
<span class="md-ellipsis">
Sonatype Nexus 3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#rocket-chat" class="md-nav__link">
<span class="md-ellipsis">
Rocket Chat
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#ibm-cloud-paks-and-openshift" class="md-nav__link">
<span class="md-ellipsis">
IBM Cloud Paks and OpenShift
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-on-aws" class="md-nav__link">
<span class="md-ellipsis">
OpenShift on AWS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#openshift-dedicated" class="md-nav__link">
<span class="md-ellipsis">
OpenShift Dedicated
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#other-awesome-lists" class="md-nav__link">
<span class="md-ellipsis">
Other Awesome Lists
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="ocp3.html" class="md-nav__link">
<span class="md-ellipsis">
OCP 3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ocp4.html" class="md-nav__link">
<span class="md-ellipsis">
OCP 4
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
<span class="md-ellipsis">
Rancher
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon"></span>
Rancher
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="rancher.html" class="md-nav__link">
<span class="md-ellipsis">
Rancher - Enterprise management for Kubernetes
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
<label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
<span class="md-ellipsis">
CI/CD
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon"></span>
CI/CD
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="cicd.html" class="md-nav__link">
<span class="md-ellipsis">
CI/CD - Continuous Integration & Continuous Delivery
</span>
</a>
</li>
<li class="md-nav__item">
<a href="git.html" class="md-nav__link">
<span class="md-ellipsis">
Git & Git Patterns. Trunk Devel, Git Flow & Feature Flags. Merge BOTs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="jenkins.html" class="md-nav__link">
<span class="md-ellipsis">
Jenkins & Cloudbees
</span>
</a>
</li>
<li class="md-nav__item">
<a href="performance-testing-with-jenkins-and-jmeter.html" class="md-nav__link">
<span class="md-ellipsis">
Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc
</span>
</a>
</li>
<li class="md-nav__item">
<a href="openshift-pipelines.html" class="md-nav__link">
<span class="md-ellipsis">
OpenShift Pipelines with Jenkins, Tekton and more...
</span>
</a>
</li>
<li class="md-nav__item">
<a href="performance-testing-with-jenkins-and-jmeter.html" class="md-nav__link">
<span class="md-ellipsis">
Performance testing with Jenkins, JMeter, Gatling, Azure Load Testing, etc
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12_7" >
<label class="md-nav__link" for="__nav_12_7" id="__nav_12_7_label" tabindex="0">
<span class="md-ellipsis">
DevOps Tools aka Toolchain. Jenkins Alternatives. Cloud Native CI/CD Tools
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_12_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12_7">
<span class="md-nav__icon md-icon"></span>
DevOps Tools aka Toolchain. Jenkins Alternatives. Cloud Native CI/CD Tools
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devops-tools.html" class="md-nav__link">
<span class="md-ellipsis">
DevOps Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="jenkins-alternatives.html" class="md-nav__link">
<span class="md-ellipsis">
Jenkins Alternatives for Continuous Integration & Deployment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="argo.html" class="md-nav__link">
<span class="md-ellipsis">
Argo - Declarative GitOps for Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="flux.html" class="md-nav__link">
<span class="md-ellipsis">
Flux CD - The GitOps Operator for Kubernetes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="tekton.html" class="md-nav__link">
<span class="md-ellipsis">
Tekton - Cloud Native CI/CD
</span>
</a>
</li>
<li class="md-nav__item">
<a href="keptn.html" class="md-nav__link">
<span class="md-ellipsis">
Keptn
</span>
</a>
</li>
<li class="md-nav__item">
<a href="container-managers.html" class="md-nav__link">
<span class="md-ellipsis">
Container Runtimes/Managers & Base Images. Podman, Buildah & Skopeo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="maven-gradle.html" class="md-nav__link">
<span class="md-ellipsis">
Maven, Gradle & SDKMAN
</span>
</a>
</li>
<li class="md-nav__item">
<a href="sonarqube.html" class="md-nav__link">
<span class="md-ellipsis">
SonarQube
</span>
</a>
</li>
<li class="md-nav__item">
<a href="registries.html" class="md-nav__link">
<span class="md-ellipsis">
Docker Registries. Quay, Nexus, JFrog Artifactory, Harbor and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="linux.html" class="md-nav__link">
<span class="md-ellipsis">
Linux & SSH
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mkdocs.html" class="md-nav__link">
<span class="md-ellipsis">
MkDocs & GitHub Pages
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12_8" >
<label class="md-nav__link" for="__nav_12_8" id="__nav_12_8_label" tabindex="0">
<span class="md-ellipsis">
Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_12_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12_8">
<span class="md-nav__icon md-icon"></span>
Web Servers, Reverse Proxies, Java Runtimes & Caching Solutions
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="web-servers.html" class="md-nav__link">
<span class="md-ellipsis">
Web Servers & Reverse Proxies - Apache, Nginx, HAProxy, Traefik and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="java_app_servers.html" class="md-nav__link">
<span class="md-ellipsis">
Java EE/Jakarta EE and MicroProfile Runtimes - Payara, JBoss EAP, WebSphere Liberty, WildFly and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="embedded-servlet-containers.html" class="md-nav__link">
<span class="md-ellipsis">
Embedded Servlet Containers in SpringBoot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="caching.html" class="md-nav__link">
<span class="md-ellipsis">
Caching Solutions
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
<label class="md-nav__link" for="__nav_13" id="__nav_13_label" tabindex="0">
<span class="md-ellipsis">
Montrg
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
Montrg
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="monitoring.html" class="md-nav__link">
<span class="md-ellipsis">
Monitoring and Performance
</span>
</a>
</li>
<li class="md-nav__item">
<a href="prometheus.html" class="md-nav__link">
<span class="md-ellipsis">
Prometheus
</span>
</a>
</li>
<li class="md-nav__item">
<a href="grafana.html" class="md-nav__link">
<span class="md-ellipsis">
Grafana
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
<label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0">
<span class="md-ellipsis">
Infra Prov
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
Infra Prov
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="iac.html" class="md-nav__link">
<span class="md-ellipsis">
IaC Infrastructure as Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="terraform.html" class="md-nav__link">
<span class="md-ellipsis">
Terraform & Packer.Kubernetes Boilerplates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="pulumi.html" class="md-nav__link">
<span class="md-ellipsis">
Pulumi
</span>
</a>
</li>
<li class="md-nav__item">
<a href="crossplane.html" class="md-nav__link">
<span class="md-ellipsis">
Crossplane
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cloud-arch-diagrams.html" class="md-nav__link">
<span class="md-ellipsis">
Cloud Architecture Diagram Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cloud-asset-inventory.html" class="md-nav__link">
<span class="md-ellipsis">
Cloud Asset Inventory
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
<span class="md-ellipsis">
Config Mgmt
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon"></span>
Config Mgmt
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="ansible.html" class="md-nav__link">
<span class="md-ellipsis">
Ansible
</span>
</a>
</li>
<li class="md-nav__item">
<a href="helm.html" class="md-nav__link">
<span class="md-ellipsis">
Helm Kubernetes Tool
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kustomize.html" class="md-nav__link">
<span class="md-ellipsis">
Kustomize - Template-Free Kubernetes Configuration Customization
</span>
</a>
</li>
<li class="md-nav__item">
<a href="stackstorm.html" class="md-nav__link">
<span class="md-ellipsis">
StackStorm
</span>
</a>
</li>
<li class="md-nav__item">
<a href="chef.html" class="md-nav__link">
<span class="md-ellipsis">
Chef
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cicd-kubernetes-plugins.html" class="md-nav__link">
<span class="md-ellipsis">
CI/CD Kubernetes Plugins
</span>
</a>
</li>
<li class="md-nav__item">
<a href="kubernetes-client-libraries.html" class="md-nav__link">
<span class="md-ellipsis">
Client Libraries for Kubernetes - Go client, Python, Fabric8, JKube & Java Operator SDK
</span>
</a>
</li>
<li class="md-nav__item">
<a href="liquibase.html" class="md-nav__link">
<span class="md-ellipsis">
Database Version Control. Liquibase, Flyway and PlanetScale
</span>
</a>
</li>
<li class="md-nav__item">
<a href="yaml.html" class="md-nav__link">
<span class="md-ellipsis">
YAML and JSON
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
<span class="md-ellipsis">
DB
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
DB
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="databases.html" class="md-nav__link">
<span class="md-ellipsis">
Relational Databases and Database DevOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="crunchydata.html" class="md-nav__link">
<span class="md-ellipsis">
Crunchy Data PostgreSQL Operator
</span>
</a>
</li>
<li class="md-nav__item">
<a href="nosql.html" class="md-nav__link">
<span class="md-ellipsis">
NoSQL Databases
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="message-queue.html" class="md-nav__link">
<span class="md-ellipsis">
Data Pipeline
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
<label class="md-nav__link" for="__nav_18" id="__nav_18_label" tabindex="0">
<span class="md-ellipsis">
Service Mesh
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
<span class="md-nav__icon md-icon"></span>
Service Mesh
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="servicemesh.html" class="md-nav__link">
<span class="md-ellipsis">
Service Mesh
</span>
</a>
</li>
<li class="md-nav__item">
<a href="istio.html" class="md-nav__link">
<span class="md-ellipsis">
Istio
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_19" >
<label class="md-nav__link" for="__nav_19" id="__nav_19_label" tabindex="0">
<span class="md-ellipsis">
Demos
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_19_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_19">
<span class="md-nav__icon md-icon"></span>
Demos
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="demos.html" class="md-nav__link">
<span class="md-ellipsis">
Demos, Boilerplates & Screencasts
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20" >
<label class="md-nav__link" for="__nav_20" id="__nav_20_label" tabindex="0">
<span class="md-ellipsis">
Cloud
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_20_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20">
<span class="md-nav__icon md-icon"></span>
Cloud
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="public-cloud-solutions.html" class="md-nav__link">
<span class="md-ellipsis">
Public Cloud Solutions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="private-cloud-solutions.html" class="md-nav__link">
<span class="md-ellipsis">
Private Cloud Solutions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="edge-computing.html" class="md-nav__link">
<span class="md-ellipsis">
Edge Computing
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_20_4" >
<label class="md-nav__link" for="__nav_20_4" id="__nav_20_4_label" tabindex="0">
<span class="md-ellipsis">
AWS Cloud
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_20_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_20_4">
<span class="md-nav__icon md-icon"></span>
AWS Cloud
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="aws.html" class="md-nav__link">
<span class="md-ellipsis">
AWS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-miscellaneous.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Miscellaneous
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-architecture.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Architecture and Best Practices
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-networking.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Networking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-databases.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Databases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-storage.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Storage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-security.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-monitoring.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Monitoring
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-iac.html" class="md-nav__link">
<span class="md-ellipsis">
AWS IaC
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-tools-scripts.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Tools Scripts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-messaging.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Messaging
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-data.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Data
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-devops.html" class="md-nav__link">
<span class="md-ellipsis">
AWS DevOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-serverless.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Serverless
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-pricing.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Pricing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-containers.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Containers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-backup.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Backup and Migrations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-training.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Training and Certification
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-newfeatures.html" class="md-nav__link">
<span class="md-ellipsis">
AWS New Features
</span>
</a>
</li>
<li class="md-nav__item">
<a href="aws-spain.html" class="md-nav__link">
<span class="md-ellipsis">
AWS Spain
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="azure.html" class="md-nav__link">
<span class="md-ellipsis">
Microsoft Azure
</span>
</a>
</li>
<li class="md-nav__item">
<a href="GoogleCloudPlatform.html" class="md-nav__link">
<span class="md-ellipsis">
Google Cloud Platform
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ibm_cloud.html" class="md-nav__link">
<span class="md-ellipsis">
IBM & IBM Cloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="oraclecloud.html" class="md-nav__link">
<span class="md-ellipsis">
Oracle Cloud
</span>
</a>
</li>
<li class="md-nav__item">
<a href="digitalocean.html" class="md-nav__link">
<span class="md-ellipsis">
Digital Ocean
</span>
</a>
</li>
<li class="md-nav__item">
<a href="cloudflare.html" class="md-nav__link">
<span class="md-ellipsis">
Cloudflare
</span>
</a>
</li>
<li class="md-nav__item">
<a href="scaleway.html" class="md-nav__link">
<span class="md-ellipsis">
Scaleway
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_21" >
<label class="md-nav__link" for="__nav_21" id="__nav_21_label" tabindex="0">
<span class="md-ellipsis">
APIs
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_21_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_21">
<span class="md-nav__icon md-icon"></span>
APIs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="api.html" class="md-nav__link">
<span class="md-ellipsis">
APIs with SOAP, REST and gRPC
</span>
</a>
</li>
<li class="md-nav__item">
<a href="swagger-code-generator-for-rest-apis.html" class="md-nav__link">
<span class="md-ellipsis">
Swagger code generator for REST APIs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="postman.html" class="md-nav__link">
<span class="md-ellipsis">
API Test Automation with Postman and REST Assured
</span>
</a>
</li>
<li class="md-nav__item">
<a href="developerportals.html" class="md-nav__link">
<span class="md-ellipsis">
API Marketplaces. API Management with API Gateways & Developer Portals
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22" >
<label class="md-nav__link" for="__nav_22" id="__nav_22_label" tabindex="0">
<span class="md-ellipsis">
Dev
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_22_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22">
<span class="md-nav__icon md-icon"></span>
Dev
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="devel-sites.html" class="md-nav__link">
<span class="md-ellipsis">
Websites for web developers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="angular.html" class="md-nav__link">
<span class="md-ellipsis">
Angular
</span>
</a>
</li>
<li class="md-nav__item">
<a href="dom.html" class="md-nav__link">
<span class="md-ellipsis">
Document Object Model (DOM)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="golang.html" class="md-nav__link">
<span class="md-ellipsis">
Golang
</span>
</a>
</li>
<li class="md-nav__item">
<a href="javascript.html" class="md-nav__link">
<span class="md-ellipsis">
JavaScript - node.js & npm
</span>
</a>
</li>
<li class="md-nav__item">
<a href="python.html" class="md-nav__link">
<span class="md-ellipsis">
Python - Django & Flask
</span>
</a>
</li>
<li class="md-nav__item">
<a href="react.html" class="md-nav__link">
<span class="md-ellipsis">
React
</span>
</a>
</li>
<li class="md-nav__item">
<a href="lowcode-nocode.html" class="md-nav__link">
<span class="md-ellipsis">
Low Code and No Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="web3.html" class="md-nav__link">
<span class="md-ellipsis">
Web 3
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22_10" >
<label class="md-nav__link" for="__nav_22_10" id="__nav_22_10_label" tabindex="0">
<span class="md-ellipsis">
Microsoft
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_22_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22_10">
<span class="md-nav__icon md-icon"></span>
Microsoft
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="dotnet.html" class="md-nav__link">
<span class="md-ellipsis">
Microsoft .NET
</span>
</a>
</li>
<li class="md-nav__item">
<a href="xamarin.html" class="md-nav__link">
<span class="md-ellipsis">
Microsoft Xamarin
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22_11" >
<label class="md-nav__link" for="__nav_22_11" id="__nav_22_11_label" tabindex="0">
<span class="md-ellipsis">
Java
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_22_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22_11">
<span class="md-nav__icon md-icon"></span>
Java
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="java_frameworks.html" class="md-nav__link">
<span class="md-ellipsis">
Java & Open Source Microservices Frameworks. SpringBoot, MicroProfile, Quarkus and more
</span>
</a>
</li>
<li class="md-nav__item">
<a href="java-and-java-performance-optimization.html" class="md-nav__link">
<span class="md-ellipsis">
Java Memory Management & Java Performance Optimization
</span>
</a>
</li>
<li class="md-nav__item">
<a href="jvm-parameters-matrix-table.html" class="md-nav__link">
<span class="md-ellipsis">
Java Parameters Matrix Table
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_22_12" >
<label class="md-nav__link" for="__nav_22_12" id="__nav_22_12_label" tabindex="0">
<span class="md-ellipsis">
Dev Environment
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_22_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_22_12">
<span class="md-nav__icon md-icon"></span>
Dev Environment
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="visual-studio.html" class="md-nav__link">
<span class="md-ellipsis">
Visual Studio Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="linux-dev-env.html" class="md-nav__link">
<span class="md-ellipsis">
WSL - Linux Dev Environment on Windows
</span>
</a>
</li>
<li class="md-nav__item">
<a href="scaffolding.html" class="md-nav__link">
<span class="md-ellipsis">
Scaffolding Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ChromeDevTools.html" class="md-nav__link">
<span class="md-ellipsis">
Chrome & Firefox DevTools. HTTP Protocols & WebSockets
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_23" >
<label class="md-nav__link" for="__nav_23" id="__nav_23_label" tabindex="0">
<span class="md-ellipsis">
QA
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_23_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_23">
<span class="md-nav__icon md-icon"></span>
QA
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="qa.html" class="md-nav__link">
<span class="md-ellipsis">
QA
</span>
</a>
</li>
<li class="md-nav__item">
<a href="testops.html" class="md-nav__link">
<span class="md-ellipsis">
TestOps and Continuous Testing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="test-automation-frameworks.html" class="md-nav__link">
<span class="md-ellipsis">
Test Automation Frameworks and BDD
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_24" >
<label class="md-nav__link" for="__nav_24" id="__nav_24_label" tabindex="0">
<span class="md-ellipsis">
AI
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_24_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_24">
<span class="md-nav__icon md-icon"></span>
AI
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="ai.html" class="md-nav__link">
<span class="md-ellipsis">
AI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="ai-agents-mcp.html" class="md-nav__link">
<span class="md-ellipsis">
Model Context Protocol (MCP) & AI Agents
</span>
</a>
</li>
<li class="md-nav__item">
<a href="mlops.html" class="md-nav__link">
<span class="md-ellipsis">
MLOps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="chatgpt.html" class="md-nav__link">
<span class="md-ellipsis">
ChatGPT
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_25" >
<label class="md-nav__link" for="__nav_25" id="__nav_25_label" tabindex="0">
<span class="md-ellipsis">
Project Mgmt
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_25_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_25">
<span class="md-nav__icon md-icon"></span>
Project Mgmt
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="project-management-methodology.html" class="md-nav__link">
<span class="md-ellipsis">
Project Management Methodology
</span>
</a>
</li>
<li class="md-nav__item">
<a href="project-management-tools.html" class="md-nav__link">
<span class="md-ellipsis">
Project Management Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="appointment-scheduling.html" class="md-nav__link">
<span class="md-ellipsis">
Appointment Scheduling
</span>
</a>
</li>
<li class="md-nav__item">
<a href="workfromhome.html" class="md-nav__link">
<span class="md-ellipsis">
Work From Home
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_26" >
<label class="md-nav__link" for="__nav_26" id="__nav_26_label" tabindex="0">
<span class="md-ellipsis">
Refs+
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_26_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_26">
<span class="md-nav__icon md-icon"></span>
Refs+
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="other-awesome-lists.html" class="md-nav__link">
<span class="md-ellipsis">
Other Awesome Lists
</span>
</a>
</li>
<li class="md-nav__item">
<a href="interview-questions.html" class="md-nav__link">
<span class="md-ellipsis">
Interview Questions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="newsfeeds.html" class="md-nav__link">
<span class="md-ellipsis">
Subreddits
</span>
</a>
</li>
<li class="md-nav__item">
<a href="elearning.html" class="md-nav__link">
<span class="md-ellipsis">
E-Learning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="digital-money.html" class="md-nav__link">
<span class="md-ellipsis">
Digital Money
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_27" >
<label class="md-nav__link" for="__nav_27" id="__nav_27_label" tabindex="0">
<span class="md-ellipsis">
Hiring
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_27_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_27">
<span class="md-nav__icon md-icon"></span>
Hiring
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="recruitment.html" class="md-nav__link">
<span class="md-ellipsis">
Recruitment
</span>
</a>
</li>
<li class="md-nav__item">
<a href="hr.html" class="md-nav__link">
<span class="md-ellipsis">
Human Resources
</span>
</a>
</li>
<li class="md-nav__item">
<a href="freelancing.html" class="md-nav__link">
<span class="md-ellipsis">
Freelancing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="remote-tech-jobs.html" class="md-nav__link">
<span class="md-ellipsis">
Remote Tech Jobs
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="customer.html" class="md-nav__link">
<span class="md-ellipsis">
Clients
</span>
</a>
</li>
<li class="md-nav__item">
<a href="about.html" class="md-nav__link">
<span class="md-ellipsis">
About
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="openshift-container-platform">OpenShift Container Platform</h1>
<ol>
<li><a href="#openshift">OpenShift</a></li>
<li><a href="#openshift-streaming-and-training">OpenShift Streaming and Training</a></li>
<li><a href="#openshift-on-public-cloud">OpenShift on Public Cloud</a><ol>
<li><a href="#azure-red-hat-openshift-aro">Azure Red Hat OpenShift ARO</a></li>
</ol>
</li>
<li><a href="#blogs">Blogs</a></li>
<li><a href="#meetings">Meetings</a></li>
<li><a href="#differences-in-developing-on-openshift-as-opposed-to-other-kubernetes-distributions">Differences in developing on OpenShift as opposed to other Kubernetes distributions</a></li>
<li><a href="#red-hats-approach-to-kubernetes-standardization">Red Hat&rsquo;s approach to Kubernetes. Standardization</a></li>
<li><a href="#openshiftio-online-ide">OpenShift.io online IDE</a></li>
<li><a href="#oc-cli-auto-completion">OC CLI Auto Completion</a></li>
<li><a href="#cluster-autoscaler-in-openshift">Cluster Autoscaler in OpenShift</a></li>
<li><a href="#e-books">e-Books</a><ol>
<li><a href="#kubernetes-e-books">Kubernetes e-Books</a></li>
</ol>
</li>
<li><a href="#online-learning">Online Learning</a></li>
<li><a href="#local-installers">Local Installers</a></li>
<li><a href="#cloud-native-development-architecture-architectural-diagrams">Cloud Native Development Architecture. Architectural Diagrams</a></li>
<li><a href="#cluster-installers">Cluster Installers</a><ol>
<li><a href="#okd-3">OKD 3</a></li>
<li><a href="#openshift-3">OpenShift 3</a></li>
<li><a href="#openshift-4">OpenShift 4</a><ol>
<li><a href="#openshift-4-deployment-on-vmware-vsphere">OpenShift 4 deployment on VMWare vSphere</a><ol>
<li><a href="#deploying-openshift-44-to-vmware-vsphere-7">Deploying OpenShift 4.4 to VMware vSphere 7</a></li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
<li><a href="#networking-ocp-3-and-ocp-4">Networking (OCP 3 and OCP 4)</a></li>
<li><a href="#security">Security</a><ol>
<li><a href="#how-is-openshift-container-platform-secured">How is OpenShift Container Platform Secured?</a></li>
<li><a href="#security-context-constraints">Security Context Constraints</a><ol>
<li><a href="#review-security-context-constraints">Review Security Context Constraints</a></li>
</ol>
</li>
<li><a href="#openshift-network-model--network-policy">OpenShift Network Model &amp; Network Policy</a><ol>
<li><a href="#network-security-zones">Network Security Zones</a></li>
<li><a href="#openshift-route-and-openshift-ingress">OpenShift Route and OpenShift Ingress</a></li>
<li><a href="#openshift-egress">OpenShift Egress</a></li>
</ol>
</li>
</ol>
</li>
<li><a href="#openshift-compliant-docker-images">Openshift Compliant Docker Images</a><ol>
<li><a href="#gitlab">Gitlab</a></li>
<li><a href="#atlassian-confluence6">Atlassian Confluence6</a></li>
<li><a href="#sonatype-nexus-3">Sonatype Nexus 3</a></li>
<li><a href="#rocket-chat">Rocket Chat</a></li>
</ol>
</li>
<li><a href="#ibm-cloud-paks-and-openshift">IBM Cloud Paks and OpenShift</a></li>
<li><a href="#openshift-on-aws">OpenShift on AWS</a></li>
<li><a href="#openshift-dedicated">OpenShift Dedicated</a></li>
<li><a href="#other-awesome-lists">Other Awesome Lists</a></li>
</ol>
<h2 id="openshift">OpenShift</h2>
<ul>
<li><a href="https://docs.redhat.com/en/documentation/openshift_container_platform/4.21/html/ai_workloads/red-hat-build-of-kueue#about-kueue">Red Hat Build of Kueue</a> - <em>(Related to kubernetes-operators-controllers topic)</em></li>
<li><a href="https://en.wikipedia.org/wiki/OpenShift">Wikipedia.org: OpenShift</a></li>
<li><a href="https://www.openshift.com/">OpenShift.com</a></li>
<li><a href="https://www.openshift.com/blog">OpenShift blog 🌟</a></li>
<li><a href="https://docs.openshift.com/">docs.openshift.com 🌟</a></li>
<li><a href="https://developers.redhat.com/">developers.redhat.com 🌟</a></li>
<li><a href="https://github.com/openshift/origin">github.com/openshift/origin 🌟</a> Images for OpenShift 3 and 4 - see openshift/okd for more </li>
<li><a href="https://try.openshift.com/">try.openshift.com 🌟</a> Create an OCP (OpenShift Container Platform) Cluster or OSD (OpenShift Dedicated) Cluster.</li>
<li><a href="https://www.okd.io/">okd.io</a> The Community Distribution of Kubernetes that powers Red Hat OpenShift.</li>
<li><a href="https://commons.openshift.org/">OpenShift Commons</a> Where users, partners, customers, and contributors come together to collaborate and work together on OpenShift. Commons builds connections and collaboration across OpenShift communities, projects and stakeholders.</li>
<li><a href="https://twitter.com/openshift">twitter.com/openshift</a> </li>
<li><a href="https://hub.docker.com/u/openshift/">OpenShift in DockerHub</a></li>
<li><a href="https://www.reddit.com/r/openshift">reddit.com/r/openshift</a></li>
<li><a href="https://www.reddit.com/r/redhat">reddit.com/r/redhat</a></li>
</ul>
<h2 id="openshift-streaming-and-training">OpenShift Streaming and Training</h2>
<ul>
<li><a href="https://openshift.tv">OpenShift.tv</a> </li>
<li><a href="https://www.twitch.tv/redhatopenshift">twitch.tv/redhatopenshift</a></li>
</ul>
<h2 id="openshift-on-public-cloud">OpenShift on Public Cloud</h2>
<ul>
<li>OCP4 on AWS: <a href="https://github.com/openshift/installer/blob/master/docs/user/aws/README.md">ref1</a> , <a href="https://aws.amazon.com/blogs/opensource/openshift-4-on-aws-quick-start/">ref2</a></li>
<li><a href="https://www.openshift.com/products/dedicated/">OpenShift Dedicated</a> - <a href="https://www.redhat.com/en/blog/red-hat-openshift-dedicated-price-reduction">Price lowered by 75% on average, SLA improved to 99.95% 🌟</a></li>
<li><a href="https://www.openshift.com/products/amazon-openshift/faq">Amazon Red Hat OpenShift</a></li>
<li><a href="https://cloud.google.com/solutions/partners/openshift-on-gcp">OpenShift on Google Cloud</a></li>
<li><a href="https://www.openshift.com/products/azure-openshift">Microsoft Azure Red Hat OpenShift</a></li>
<li><a href="https://www.ibm.com/cloud/openshift">Red Hat OpenShift on IBM Cloud</a></li>
<li><a href="https://www.openshift.com/products/online/">OpenShift Online</a></li>
<li><a href="https://openshift.io/">OpenShift.io</a></li>
<li><a href="https://developers.redhat.com/developer-sandbox">Developer Sandbox</a></li>
<li><a href="https://marketplace.redhat.com/">Red Hat Marketplace</a> </li>
</ul>
<h3 id="azure-red-hat-openshift-aro">Azure Red Hat OpenShift ARO</h3>
<ul>
<li><a href="https://www.openshift.com/products/azure-openshift">ARO</a></li>
<li><a href="http://aroworkshop.io/">aroworkshop.io 🌟</a> </li>
<li><a href="https://docs.microsoft.com/en-us/azure/architecture/solution-ideas/articles/jboss-deployment-red-hat">docs.microsoft.com: JBoss deployment with Red Hat on Azure 🌟</a></li>
</ul>
<h2 id="blogs">Blogs</h2>
<ul>
<li>
<p><a href="https://developers.redhat.com/articles/2025/06/25/how-kruize-optimizes-openshift-workloads#what_is_kruize_autotune_">How Kruize Optimizes OpenShift Workloads</a> 🌟 - This article introduces Kruize, an open-source solution for performance testing and optimization of applications running on OpenShift. It details how Kruize uses Kubernetes operators to collect performance metrics, identify performance bottlenecks, and suggest optimal configurations for workloads, aiming to improve resource utilization and application performance.</p>
</li>
<li>
<p><a href="https://rcarrata.com/">Rcarrata&rsquo;s blog</a></p>
</li>
</ul>
<h2 id="meetings">Meetings</h2>
<ul>
<li><a href="https://openshift-ireland.com/">openshift-ireland.com</a></li>
</ul>
<h2 id="differences-in-developing-on-openshift-as-opposed-to-other-kubernetes-distributions">Differences in developing on OpenShift as opposed to other Kubernetes distributions</h2>
<ul>
<li><a href="https://medium.com/swlh/im-so-sorry-openshift-i-ve-taken-you-for-granted-f36fb47ea4d9">Im So Sorry OpenShift, Ive Taken You for Granted 🌟</a></li>
</ul>
<h2 id="red-hats-approach-to-kubernetes-standardization">Red Hat&rsquo;s approach to Kubernetes. Standardization</h2>
<ul>
<li><a href="https://www.redhat.com/en/topics/containers/kubernetes-approach">Red Hat&rsquo;s approach to Kubernetes 🌟</a></li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">Reference</th>
<th style="text-align: left;">Author</th>
<th style="text-align: left;">URL</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">&ldquo;Given the difficulty of navigating the cloud-native ecosystem, especially the one around Kubernetes, <strong>there is a high demand for easy-to-administer development platforms</strong> that deliver applications in Kubernetes-managed containers.&rdquo;</td>
<td style="text-align: left;">OMDIA</td>
<td style="text-align: left;"><a href="https://www.redhat.com/en/topics/containers/kubernetes-approach">Red Hat&rsquo;s approach to Kubernetes</a></td>
</tr>
<tr>
<td style="text-align: left;">Industry momentum has aligned behind Kubernetes as the orchestration platform for Linux® containers. Choosing Kubernetes means youll be running the de facto standard regardless of which cloud environments and providers are in your future.</td>
<td style="text-align: left;">CNCF Survey 2019</td>
<td style="text-align: left;"><a href="https://www.redhat.com/en/topics/containers/kubernetes-approach">Red Hat&rsquo;s approach to Kubernetes</a></td>
</tr>
<tr>
<td style="text-align: left;">“It&rsquo;s not just enough to do Kubernetes. <strong>You do need to do CI/CD.</strong> You need to use alerting. You need to understand how the security model of the cloud and your applications interplay.”</td>
<td style="text-align: left;">Clayton Coleman,Senior Distinguished Engineer, Red Hat</td>
<td style="text-align: left;"><a href="https://www.redhat.com/en/topics/containers/kubernetes-approach">Red Hat&rsquo;s approach to Kubernetes</a></td>
</tr>
<tr>
<td style="text-align: left;">“Kubernetes is scalable. It helps develop applications faster. It does hybrid and multicloud. These are not just technology buzzwords, they&rsquo;re real, legitimate business problems.”</td>
<td style="text-align: left;">Brian Gracely,Director, Product Strategy, Red Hat OpenShift</td>
<td style="text-align: left;"><a href="https://www.redhat.com/en/topics/containers/kubernetes-approach">Red Hat&rsquo;s approach to Kubernetes</a></td>
</tr>
<tr>
<td style="text-align: left;">“Our job is to <strong>make it easier and easier to use</strong>, either from an ops point of view or a developer point of view—while acknowledging it is complex, because we&rsquo;re solving a complex problem.”</td>
<td style="text-align: left;">Chris Wright,Chief Technology Officer, Red Hat</td>
<td style="text-align: left;"><a href="https://www.redhat.com/en/topics/containers/kubernetes-approach">Red Hat&rsquo;s approach to Kubernetes</a></td>
</tr>
</tbody>
</table>
<center>
<p><a href="https://www.zdnet.com/article/amazon-red-hat-openshift-announced-for-public-cloud-kubernetes-users/"><img alt="rh openshift solutions 2020" src="images/openshift_solutions_2020.jpg" /></a></p>
</center>
<p><br/></p>
<h2 id="openshiftio-online-ide">OpenShift.io online IDE</h2>
<ul>
<li><a href="https://openshift.io/">openshift.io 🌟</a> an online IDE for building container-based apps, built for team collaboration.</li>
</ul>
<h2 id="oc-cli-auto-completion">OC CLI Auto Completion</h2>
<ul>
<li><a href="https://docs.openshift.com/container-platform/4.4/cli_reference/openshift_cli/configuring-cli.html">docs.openshift.com: Enabling tab completion</a></li>
<li><a href="https://medium.com/@ismailyenigul/how-to-enable-openshift-oc-bash-auto-completion-958b80e56e17">medium: How to enable OpenShift oc bash auto completion</a></li>
</ul>
<h2 id="cluster-autoscaler-in-openshift">Cluster Autoscaler in OpenShift</h2>
<ul>
<li><a href="https://docs.openshift.com/container-platform/3.11/admin_guide/cluster-autoscaler.html">OpenShift 3.11: Configuring the cluster auto-scaler in AWS</a></li>
<li><a href="https://docs.openshift.com/container-platform/4.4/machine_management/applying-autoscaling.html">OpenShift 4.4: Applying autoscaling to an OpenShift Container Platform cluster</a></li>
</ul>
<h2 id="e-books">e-Books</h2>
<ul>
<li><a href="https://www.openshift.com/devops-with-openshift/">O&rsquo;Reilly Free Book: <strong>DevOps with OpenShift</strong></a></li>
<li><a href="https://www.openshift.com/for-developers/">O&rsquo;Reilly Free Book: <strong>Openshift for developers</strong></a></li>
<li><a href="https://www.redhat.com/en/resources/oreilly-kubernetes-operators-automation-ebook">OReilly: Free ebook: <strong>Kubernetes Operators: Automating the Container Orchestration Platform</strong></a></li>
<li><a href="https://www.manning.com/books/openshift-in-action">Manning: <strong>Openshift in action</strong></a></li>
</ul>
<h3 id="kubernetes-e-books">Kubernetes e-Books</h3>
<ul>
<li><a href="https://awesome-kubernetes.readthedocs.io/kubernetes/#e-books">Kubernetes e-Books</a></li>
</ul>
<h2 id="online-learning">Online Learning</h2>
<ul>
<li>
<p><a href="https://access.redhat.com/community/learn">Red Hat Training &amp; Certification Community</a> - <em>(Related to kubernetes-tutorials topic)</em></p>
</li>
<li>
<p><a href="https://learn.openshift.com">learn.openshift.com 🌟</a> Interactive Learning Portal</p>
</li>
<li><a href="https://www.katacoda.com/">katacoda.com 🌟</a> Interactive Learning and Training Platform for Software Engineers </li>
<li><a href="http://redhatgov.io/">redhatgov.io</a></li>
<li><a href="https://www.udemy.com/red-hat-openshift">udemy.com: Red Hat OpenShift With Jenkins: DevOps For Beginners</a></li>
<li><a href="https://www.udemy.com/openshift-enterprise-installation-and-configuration/learn/v4/overview">udemy.com: OpenShift Enterprise v3.2 Installation and Configuration</a></li>
<li><a href="https://www.udemy.com/ultimate-openshift-bootcamp-by-school-of-devops/">udemy.com: Ultimate Openshift (2018) Bootcamp by School of Devops 🌟</a> With Openshift Origin 3.10 / OKD 2018, Kubernetes, Jenkins Pipelines, Prometheus, Istio, Micro Services, PaaS</li>
<li><a href="https://www.udemy.com/course/openshift-4-desde-cero">Udemy: OpenShift 4 desde cero 🌟</a></li>
</ul>
<h2 id="local-installers">Local Installers</h2>
<ul>
<li><a href="https://developers.redhat.com/products/cdk/overview/">developers.redhat.com: <strong>Red Hat Container Development Kit</strong></a></li>
<li>A few other options to use OKD locally include <a href="https://github.com/openshift/origin">oc cluster up</a> and <a href="https://www.okd.io/minishift/">minishift</a>. These may be a better fit for your use case if you only need a quick throwaway environment.</li>
<li><a href="https://github.com/redhatdemocentral/ocp-install-demo">github.com/redhatdemocentral: OpenShift Container Platform Install Demo 🌟</a><ul>
<li><a href="https://dzone.com/articles/install-openshift-container-platform-in-minutes-video">Dzone.com: Install OpenShift Container Platform in Minutes [Video]</a></li>
</ul>
</li>
</ul>
<h2 id="cloud-native-development-architecture-architectural-diagrams">Cloud Native Development Architecture. Architectural Diagrams</h2>
<ul>
<li>Cloud-native development is an approach to building and running applications to fully exploit the advantages of the cloud computing model (i.e. responsive, elastic and resilient applications).<ul>
<li><a href="https://www.schabell.org/2020/05/cloud-native-development-a-blueprint.html">schabell.org: Cloud-native development - A blueprint 🌟</a></li>
<li><a href="https://www.schabell.org/2020/06/cloud-native-development-on-local-containers.html">schabell.org: Cloud-native development - On local containers 🌟</a></li>
<li>etc</li>
</ul>
</li>
<li><a href="https://redhatdemocentral.gitlab.io/portfolio-architecture-workshops/#/">Portfolio Architecture WorkShops 🌟</a> Workshops for creating impactful architectural diagrams. This workshop will teach you how to use, design, and create architectural diagrams based on the <strong>draw.io</strong> tooling and Red Hat Portfolio Architecture design elelements. You&rsquo;ll leverage existing portfolio architecture diagrams as starting points.</li>
<li><a href="https://redhatdemocentral.gitlab.io/portfolio-architecture-tooling/">Portfolio Architecture Tooling</a></li>
<li><a href="https://gitlab.com/redhatdemocentral/portfolio-architecture-examples">gitlab.com: Portfolio Architecture Examples</a></li>
</ul>
<center>
<p><a href="https://dzone.com/articles/cloud-native-development-a-blueprint"><img alt="Cloud-native development" src="images/cloud-native-development-ld.png" /></a></p>
<p><a href="https://www.schabell.org/2020/06/cloud-native-development-on-local-containers.html"><img alt="Cloud-native development container runtimes" src="images/cloud-native-development-local-containers-runtimes-sd.png" /></a></p>
</center>
<p><br/></p>
<h2 id="cluster-installers">Cluster Installers</h2>
<h3 id="okd-3">OKD 3</h3>
<ul>
<li><a href="https://www.okd.io/">OKD.io:</a> The Community Distribution of Kubernetes that powers Red Hat OpenShift.</li>
<li><a href="https://blog.openshift.com/installing-okd-3-10-on-a-single-host/">blog.openshift.com: Installing OKD 3.10 on a Single Host 🌟</a></li>
<li><a href="https://www.youtube.com/watch?v=ZkFIozGY0IA">youtube.com: OpenShift Origin is now OKD. Installation of OKD 3.10 from start to finish</a></li>
<li><a href="https://github.com/gshipley/installcentos">Install RedHat OKD 3.10 on your development box:</a> This repository is a set of scripts that will allow you easily install the latest version (3.10) of OKD in a single node fashion. What that means is that all of the services required for OKD to function (master, node, etcd, etc.) will all be installed on a single host. The script supports a custom hostname which you can provide using the interactive mode.</li>
</ul>
<h3 id="openshift-3">OpenShift 3</h3>
<ul>
<li><a href="http://uncontained.io/articles/openshift-ha-installation/">uncontained.io: Installing a Highly Available OpenShift Cluster 🌟</a></li>
</ul>
<h3 id="openshift-4">OpenShift 4</h3>
<ul>
<li><a href="https://github.com/openshift/installer">github.com/openshift/installer openshift installer 🌟</a><ul>
<li><a href="https://github.com/burrsutter/9stepsawesome">github: burrsutter/9stepsawesome</a> </li>
</ul>
</li>
</ul>
<h4 id="openshift-4-deployment-on-vmware-vsphere">OpenShift 4 deployment on VMWare vSphere</h4>
<ul>
<li><a href="https://www.reddit.com/r/openshift/comments/e1kw48/openshift_42_vsphere_install/">reddit</a></li>
<li><a href="https://blog.openshift.com/openshift-4-2-vsphere-install-quickstart/">blog.openshift.com: OpenShift 4.2 vSphere Install Quickstart</a> </li>
<li><a href="https://blog.openshift.com/openshift-4-2-vsphere-install-with-static-ips/">blog.openshift.com: OpenShift 4.2 vsphere install with static IPs 🌟</a></li>
<li><a href="https://www.youtube.com/watch?v=DLB9m17aGus">youtube: Deploy OpenShift 4 to vSphere using OpenShift&rsquo;s UPI</a> </li>
</ul>
<h5 id="deploying-openshift-44-to-vmware-vsphere-7">Deploying OpenShift 4.4 to VMware vSphere 7</h5>
<ul>
<li><a href="https://www.openshift.com/blog/deploying-openshift-4.4-to-vmware-vsphere-7">Deploying OpenShift 4.4 to VMware vSphere 7 🌟</a></li>
</ul>
<center>
<p><a href="https://www.openshift.com/blog/deploying-openshift-4.4-to-vmware-vsphere-7"><img alt="openshift 4 to vsphere 7" src="images/OpenShift4-to-vSphere7.png" /></a></p>
</center>
<p><br/></p>
<h2 id="networking-ocp-3-and-ocp-4">Networking (OCP 3 and OCP 4)</h2>
<ul>
<li><a href="https://developers.redhat.com/blog/2019/02/27/sidecars-analyze-debug-network-traffic-kubernetes-pod/">Using sidecars to analyze and debug network traffic in OpenShift and Kubernetes pods</a></li>
<li><a href="https://developers.redhat.com/blog/2020/01/01/skupper-io-let-your-services-communicate-across-kubernetes-clusters/">developers.redhat.com: Skupper.io: Let your services communicate across Kubernetes clusters</a></li>
<li><a href="https://blog.openshift.com/troubleshooting-openshift-network-performance-with-a-netperf-daemonset/">blog.openshift.com: Troubleshooting OpenShift network performance with a netperf DaemonSet</a></li>
<li><a href="https://blog.openshift.com/advanced-network-customizations-for-openshift-install/">blog.openshift.com: Advanced Network customizations for OpenShift Install</a></li>
</ul>
<h2 id="security">Security</h2>
<ul>
<li><a href="https://itnext.io/adding-security-layers-to-your-app-on-openshift-part-1-deployment-and-tls-ingress-9ef752835599">itnext.io: Adding security layers to your App on OpenShift — Part 1: Deployment and TLS Ingress 🌟</a></li>
</ul>
<h3 id="how-is-openshift-container-platform-secured">How is OpenShift Container Platform Secured?</h3>
<ul>
<li><a href="https://docs.openshift.com/container-platform/3.11/architecture/index.html">docs.openshift.com: OpenShift 3 Overview</a></li>
<li><a href="https://docs.openshift.com/container-platform/3.11/security/securing_container_platform.html">docs.openshift.com: OpenShift 3 Securing the Container Platform</a></li>
<li><a href="https://docs.openshift.com/container-platform/4.4/authentication/understanding-authentication.html">ocs.openshift.com: OpenShift 4 Understanding Authentication</a></li>
</ul>
<h3 id="security-context-constraints">Security Context Constraints</h3>
<ul>
<li><a href="https://docs.openshift.com/container-platform/3.11/admin_guide/manage_scc.html">docs.openshift.com: Managing Security Context Constraints</a></li>
<li><a href="https://docs.openshift.com/container-platform/3.11/architecture/additional_concepts/authorization.html#security-context-constraints">docs.openshift.com: Managing Security Context Constraints. Security Context Constraints</a></li>
<li><a href="https://dzone.com/articles/understanding-openshift-security-context-constrain">Dzone: Understanding OpenShift Security Context Constraints</a></li>
</ul>
<h4 id="review-security-context-constraints">Review Security Context Constraints</h4>
<ul>
<li>Security Context Constraints (SCCs) control what actions pods can perform and what resources they can access. </li>
<li>SCCs combine a set of security configurations into a single policy object that can be applied to pods. These security configurations include, but are not limited to, Linux Capabilities, Seccomp Profiles, User and Group ID Ranges, and types of mounts.</li>
<li>OpenShift ships with several SCCs. The most constrained is the restricted SCC, and the least constrained in the privileged SCC.
The other SCCs provide intermediate levels of constraint for various use cases. The restricted SCC is granted to all authenticated users by default.</li>
<li>The default SCC for most pods should be the restricted SCC. If required, a cluster administrator may allow certain pods to run with different SCCs. Pods should be run with the most restrictive SCC possible.</li>
<li>Pods inherit their SCC from the Service Account used to run the pod. With the default project template, new projects get a Service Account named default that is used to run pods. This default service account is only granted the ability to run the restricted SCC.</li>
<li><strong>Recommendations:</strong> <ul>
<li>Use OpenShift&rsquo;s Security Context Constraint feature, which has been contributed to Kubernetes as <a href="https://kubernetes.io/docs/concepts/policy/pod-security-policy/">Pod Security Policies</a>. PSPs are still beta in Kubernetes 1.10, 1.11, and 1.12.</li>
<li>Use the restricted SCC as the default </li>
<li>For pods that require additional access, use the SCC that grants the least amount of additional privileges or create a custom SCC Audit</li>
<li>To show all available SCCs: <code>oc describe scc</code></li>
<li>To audit a single pod: <code>oc describe pod &lt;POD&gt; | grep openshift.io\/scc</code></li>
<li>Remediation: Apply the SCC with the least privilege required</li>
</ul>
</li>
</ul>
<h3 id="openshift-network-model-network-policy">OpenShift Network Model &amp; Network Policy</h3>
<ul>
<li><a href="https://docs.openshift.com/container-platform/4.4/networking/understanding-networking.html">docs.openshift.com: Understanding networking</a><ul>
<li><a href="https://docs.openshift.com/container-platform/4.4/networking/configuring-networkpolicy.html">docs.openshift.com: Configuring network policy with OpenShift SDN</a></li>
</ul>
</li>
<li><a href="https://www.openshift.com/blog/networkpolicies-and-microsegmentation">NetworkPolicies and Microsegmentation</a></li>
<li><a href="https://blog.openshift.com/fully-automated-management-of-egress-ips-with-the-egressip-ipam-operator/">Fully Automated Management of Egress IPs with the egressip-ipam-operator 🌟</a></li>
<li><a href="https://github.com/redhat-cop/openshift-toolkit/tree/master/networkpolicy">GitHub: redhat-cop OpenShift Toolkit Network Policy 🌟</a></li>
<li><a href="https://www.redhat.com/en/blog/network-traffic-control-containers-red-hat-openshift">redhat.com: Network traffic control for containers in Red Hat OpenShift 🌟</a></li>
</ul>
<h4 id="network-security-zones">Network Security Zones</h4>
<ul>
<li><a href="https://stackoverflow.com/questions/59518363/is-that-possible-to-deploy-an-openshift-or-kubernetes-in-dmz-zone">stackoverflow.com: Is that possible to deploy an openshift or kubernetes in DMZ zone? 🌟</a> </li>
<li><a href="https://www.openshift.com/blog/openshift-and-network-security-zones-coexistence-approaches">OpenShift and Network Security Zones: Coexistence Approaches 🌟🌟🌟</a><ul>
<li><strong>Introduction:</strong> Kubernetes and consequently OpenShift adopt a <a href="https://kubernetes.io/docs/concepts/cluster-administration/networking/">flat Software Defined Network (SDN) model</a>, which means that all pods in the SDN are in the same logical network. Traditional network implementations adopt a zoning model in which different networks or zones are dedicated to specific purposes, with very strict communication rules between each zone. When implementing OpenShift in organizations that are using network security zones, the two models may clash. In this article, we will analyze a few options for coexistence. But first, lets understand the two network models a bit more in depth.</li>
<li>Network Zones have been the widely accepted approach for building security into a network architecture. The general idea is to create separate networks, each with a specific purpose. Each network contains devices with similar security profiles. Communications between networks is highly scrutinized and controlled by firewall rules (<a href="https://en.wikipedia.org/wiki/All_round_defence">perimeter defense</a>).</li>
<li><strong>Conclusion:</strong> A companys security organization must be involved when deciding how to deploy OpenShift with regard to traditional network zones. Depending on their level of comfort with new technologies you may have different options. If physical network separation is the only acceptable choice, you will have to build a cluster per network zone. If logical network type of separations can be considered, then there are ways to stretch a single OpenShift deployment across multiple network zones. This post presented a few technical approaches.</li>
</ul>
</li>
</ul>
<center>
<p><a href="https://www.openshift.com/blog/openshift-and-network-security-zones-coexistence-approaches"><img alt="Network Security Zones" src="images/Network_security_zones5.png" /></a></p>
</center>
<p><br/></p>
<h4 id="openshift-route-and-openshift-ingress">OpenShift Route and OpenShift Ingress</h4>
<ul>
<li><a href="https://www.openshift.com/blog/kubernetes-ingress-vs-openshift-route">openshift.com: Kubernetes Ingress vs OpenShift Route</a></li>
<li><a href="https://cloud.ibm.com/docs/openshift?topic=openshift-ingress">cloud.ibm.com: OpenShift Ingress</a></li>
</ul>
<h4 id="openshift-egress">OpenShift Egress</h4>
<ul>
<li><a href="https://www.openshift.com/blog/accessing-external-services-using-egress-router">Accessing External Services Using Egress Router</a></li>
<li><a href="https://www.openshift.com/blog/how-to-enable-static-egress-ip-in-ocp">How to Enable Static Egress IP in OCP</a></li>
<li><a href="https://dzone.com/articles/openshift-egress-options">dzone: OpenShift Egress Options</a> Network security is a crucial part of any of Software as a Service type business. Read on to see how to implement OpenShift to create better network security.</li>
</ul>
<h2 id="openshift-compliant-docker-images">Openshift Compliant Docker Images</h2>
<ul>
<li><a href="https://access.redhat.com/containers/">Red Hat Container Catalog - RedHat Registry (registry.redhat.io) 🌟</a> License required</li>
<li><a href="https://hub.docker.com/r/openshift/">DockerHub OpenShift</a></li>
<li><a href="https://github.com/sclorg/">github.com/sclorg/</a></li>
<li><a href="https://github.com/sclorg/">github.com/sclorg/postgresql-container/</a></li>
<li><a href="https://github.com/sclorg/mariadb-container">github.com/sclorg/mariadb-container</a></li>
</ul>
<h3 id="gitlab">Gitlab</h3>
<ul>
<li><a href="https://about.gitlab.com/2016/06/28/get-started-with-openshift-origin-3-and-gitlab/">Get started with OpenShift Origin 3 and GitLab</a></li>
</ul>
<h3 id="atlassian-confluence6">Atlassian Confluence6</h3>
<ul>
<li><a href="https://github.com/redhatspain/confluence6-atlassian">Atlassian Confluence6</a></li>
</ul>
<h3 id="sonatype-nexus-3">Sonatype Nexus 3</h3>
<ul>
<li><a href="https://hub.docker.com/r/sonatype/nexus3/">hub.docker.com/r/sonatype/nexus3/</a></li>
</ul>
<h3 id="rocket-chat">Rocket Chat</h3>
<ul>
<li><a href="http://web.archive.org/web/20191122111119/https://rocket.chat/docs/installation/paas-deployments/openshift//">Deploying Rocket.Chat on OpenShift [ARCHIVED]</a></li>
<li><a href="https://opensource.com/article/22/1/rocketchat-data-privacy">opensource.com: Why choose Rocket.Chat for your open source chat tool</a></li>
</ul>
<h2 id="ibm-cloud-paks-and-openshift">IBM Cloud Paks and OpenShift</h2>
<ul>
<li><a href="https://cloudpak8s.io/">cloudpak8s.io</a> </li>
<li><strong>What are IBM Cloud Paks?</strong> Beyond containers and Kubernetes, enterprises need to orchestrate their production topology, and to provide management, security and governance for their applications. They need to do this while improving efficiency and resiliency, reducing costs and maximizing ROI.</li>
<li>IBM Cloud® Paks are enterprise-ready, containerized software solutions that give clients an open, faster and more secure way to move core business applications to any cloud. Each IBM Cloud Pak® includes containerized IBM middleware and common software services for development and management, on top of a common integration layer — designed to <strong>reduce development time by up to 84 percent and operational expenses by up to 75 percent</strong>. <strong>IBM Cloud Paks run wherever Red Hat® OpenShift® runs</strong> and are optimized for productivity and performance on <a href="https://www.ibm.com/cloud/openshift">Red Hat OpenShift on IBM Cloud</a>.</li>
<li><a href="https://cloudpak8s.io/apps/cp4a_overview/">IBM Cloud Pak Playbook</a> The <strong>Cloud Pak for Applications</strong> provides product offerings to support <strong>modernizing existing applications and building new cloud native applications</strong>. The applications run within a <strong>Kubernetes cluster</strong> provided with the <strong>Red Hat OpenShift Container Platform</strong>. The focus provided here is on running application workloads as containers. The Cloud Pak for Applications is a bundle of multiple offerings. This diagram provides an overview of what offerings are included and what they would be used for:</li>
</ul>
<center>
<p><a href="https://cloudpak8s.io/apps/cp4a_overview/"><img alt="cp4a_overview" src="images/cloudpak8s-overview.png" /></a></p>
</center>
<h2 id="openshift-on-aws">OpenShift on AWS</h2>
<ul>
<li><a href="https://blog.openshift.com/aws-and-red-hat-quickstart-workshop/">blog.openshift.com: AWS and red hat quickstart workshop</a></li>
<li><a href="https://aws.amazon.com/quickstart/architecture/openshift/">aws.amazon.com: AWS Quick Start (OpenShift 3.11 on AWS)</a> View deployment guide</li>
<li><a href="https://www.openshift.com/blog/introducing-red-hat-openshift-service-on-aws">openshift.com: Introducing Red Hat OpenShift Service on AWS</a></li>
</ul>
<h2 id="openshift-dedicated">OpenShift Dedicated</h2>
<ul>
<li><a href="https://www.openshift.com/products/dedicated/">OpenShift Dedicated 🌟</a></li>
<li><a href="https://www.redhat.com/en/blog/red-hat-openshift-dedicated-price-reduction">Red Hat OpenShift Dedicated price reduction: Price lowered by 75% on average, SLA improved to 99.95% 🌟</a></li>
</ul>
<h2 id="other-awesome-lists">Other Awesome Lists</h2>
<ul>
<li>
<p><a href="https://github.com/oscp/awesome-openshift3">Awesome Openshift 2</a></p>
</li>
<li>
<p><a href="https://medium.com/@haozhao_2156/rescue-my-openshift-cluster-from-loss-of-2-masters-59f118a30f95">Rescue My OpenShift Cluster From Loss of 2 Masters</a> 🌟 - Este artículo detalla un escenario real de recuperación de un clúster OpenShift tras la pérdida de dos nodos master, ofreciendo pasos prácticos para la restauración.</p>
</li>
<li><a href="https://youtu.be/OPKVKPfJrRA?si=YBt3LmBRNNq-GrqL">Automated Disaster Recovery failover and failback with Red Hat OpenShift</a> 🌟 - Este video demuestra cómo configurar la recuperación ante desastres automatizada con failover y failback en Red Hat OpenShift.</li>
</ul>
<form class="md-feedback" name="feedback" hidden>
<fieldset>
<legend class="md-feedback__title">
Was this page helpful?
</legend>
<div class="md-feedback__inner">
<div class="md-feedback__list">
<button class="md-feedback__icon md-icon" type="submit" title="This page was helpful" data-md-value="1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81"/></svg>
</button>
<button class="md-feedback__icon md-icon" type="submit" title="This page could be improved" data-md-value="0">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14"/></svg>
</button>
</div>
<div class="md-feedback__note">
<div data-md-value="1" hidden>
Thanks for your feedback!
</div>
<div data-md-value="0" hidden>
Thanks for your feedback! Help us improve this page by using our <a href="..." target=_blank>feedback form</a>.
</div>
</div>
</div>
</fieldset>
</form>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
2026 <a href="https://twitter.com/nubenetes">Nubenetes</a>, <a href="https://nubenetes.com/about/">about</a>.
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://www.youtube.com/channel/UCnrc0CFnNJSG2Kt4Ohdr3UA/playlists?view=1" target="_blank" rel="noopener" title="www.youtube.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M549.7 124.1c-6.2-23.7-24.8-42.3-48.3-48.6C458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5c-23.5 6.3-42 24.9-48.3 48.6C15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8C117.3 448 288.1 448 288.1 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6V175.2l142.7 81.2z"/></svg>
</a>
<a href="https://twitter.com/nubenetes" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
</a>
<a href="https://github.com/nubenetes" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M202.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1M496 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2m-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3m-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1"/></svg>
</a>
<a href="https://speakerdeck.com/nubenetes/stars" target="_blank" rel="noopener" title="speakerdeck.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M213.9 296H100c-26.5 0-52-10.5-70.7-29.3S0 222.5 0 196s10.5-52 29.3-70.7S73.5 96 100 96h132.8c10.6 0 20.8 4.2 28.3 11.7s11.7 17.7 11.7 28.3-4.2 20.8-11.7 28.3-17.7 11.7-28.3 11.7H98c-26.5 0-26.4 40 0 40h113.8c26.5 0 52 10.5 70.7 29.3s29.3 44.2 29.3 70.7-10.5 52-29.3 70.7-44.2 29.3-70.7 29.3H40c-10.6 0-20.8-4.2-28.3-11.7S0 386.6 0 376s4.2-20.8 11.7-28.3S29.4 336 40 336h173.9c26.5 0 26.5-40 0-40M298 416c13.5-9.2 25-21 33.8-34.7s14.7-29.2 17.3-45.3h64.6c2.6 0 5.2-.6 7.6-1.6s4.6-2.5 6.4-4.4 3.3-4.1 4.2-6.5 1.5-5 1.4-7.6v-120c0-2.6-.5-5.2-1.4-7.6s-2.4-4.6-4.2-6.5-4-3.3-6.4-4.4-5-1.6-7.6-1.6H296.5c9.7-11.1 15-25.3 15-40s-5.3-28.9-15-40h136.9c43.4 0 78.6 35.8 78.6 80v160c0 44.2-35.2 80-78.6 80z"/></svg>
</a>
<a href="https://www.slideshare.net/nubenetes/favorites" target="_blank" rel="noopener" title="www.slideshare.net" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M187.9 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7m143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7m156.6 90-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.8c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72-56.3 191.7 137.4 222.3 134.3 124.1 0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8m-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z"/></svg>
</a>
<a href="https://twitter.com/redhatspain" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
</a>
<a href="https://www.linkedin.com/groups/1937212/" target="_blank" rel="noopener" title="www.linkedin.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zM102.2 96a38.5 38.5 0 1 1 0 77 38.5 38.5 0 1 1 0-77m282.1 320h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<div class="md-consent" data-md-component="consent" id="__consent" hidden>
<div class="md-consent__overlay"></div>
<aside class="md-consent__inner">
<form class="md-consent__form md-grid md-typeset" name="consent">
<h4>Cookie consent</h4>
<p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.</p>
<input class="md-toggle" type="checkbox" id="__settings" >
<div class="md-consent__settings">
<ul class="task-list">
<li class="task-list-item">
<label class="task-list-control">
<input type="checkbox" name="analytics" checked>
<span class="task-list-indicator"></span>
Google Analytics
</label>
</li>
<li class="task-list-item">
<label class="task-list-control">
<input type="checkbox" name="github" checked>
<span class="task-list-indicator"></span>
GitHub
</label>
</li>
</ul>
</div>
<div class="md-consent__controls">
<button class="md-button md-button--primary">Accept</button>
<label class="md-button" for="__settings">Manage settings</label>
</div>
</form>
</aside>
</div>
<script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script>
<script id="__config" type="application/json">{"annotate": null, "base": ".", "features": ["navigation.instant", "navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "navigation.sections", "toc.integrate", "navigation.top", "content.code.annotate", "navigation.indexes", "search.highlight", "search.share", "search.suggest"], "search": "assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="assets/javascripts/bundle.79ae519e.min.js"></script>
<script src="javascript/extra.js"></script>
</body>
</html>