Skip to content

Commit

Permalink
[CI] Publish Documentation for cd450ab - cd450ab 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
rfisher001 committed Dec 20, 2023
1 parent 32a4e20 commit 4c4f3dd
Show file tree
Hide file tree
Showing 54 changed files with 2,185 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
174 changes: 174 additions & 0 deletions 4.12-4.14/API-Compatibility.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>OCP API Compatibility Policy :: LAB - Telco OCP Upgrade Lab</title>
<link rel="canonical" href="https://labs.sysdeseng.com/4.12-4.14/API-Compatibility.html">
<link rel="prev" href="introduction.html">
<meta name="generator" content="Antora 3.0.0">
<link rel="stylesheet" href="../_/css/site.css">
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="https://www.redhat.com/en/solutions/telecommunications" target="_blank"><img src="../_/img/Logo-Red_Hat-A-Reverse-RGB.png" height="40px" alt="Red Hat Telco Solutions"></a>
<a class="navbar-item" style="font-size: 24px; color: white" href="https://labs.sysdeseng.com">LAB - Telco OCP Upgrade Lab</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="https://developers.redhat.com/ebooks/" target="_blank">Books</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">More Tutorials</a>
<div class="navbar-dropdown">
<a class="navbar-item" href="https://redhat-developer-demos.github.io/kubernetes-tutorial/" target="_blank">Kubernetes</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/istio-tutorial/" target="_blank">Istio</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/quarkus-tutorial/" target="_blank">Quarkus</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/knative-tutorial/" target="_blank">Knative</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/tekton-tutorial/" target="_blank">Tekton</a>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="4.12-4.14" data-version="">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html"></a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index.html">Welcome</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index.html#contributors">Contributors</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="introduction.html">Introduction</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="introduction.html#lab-aim">Who is this lab aimed at?</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="introduction.html#lab-software-versions">Lab Software Versions</a>
</li>
</ul>
</li>
<li class="nav-item is-current-page" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="API-Compatibility.html">OCP API Compatibility Policy</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="#cnf-api-compatibility">CNF API Compatibility</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="#k8s-skew">Kubernetes Version Skew</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="#ocp-upgrade-path">OpenShift Upgrade Path</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">LAB - Telco OCP Upgrade Lab</a></li>
<li><a href="API-Compatibility.html">OCP API Compatibility Policy</a></li>
</ul>
</nav>
<div class="edit-this-page"><a href="https://github.com/RHsyseng/telco-ocp-upgrade-lab/edit/lab-4.12To4.14/documentation/modules/ROOT/pages/API-Compatibility.adoc">Edit this Page</a></div>
</div>
<div class="content">
<article class="doc">
<h1 class="page">OCP API Compatibility Policy</h1>
<div class="sect1">
<h2 id="cnf-api-compatibility"><a class="anchor" href="#cnf-api-compatibility"></a>CNF API Compatibility</h2>
<div class="sectionbody">
<div class="paragraph">
<p>OpenShift and Kubernetes are strong because they use APIs for so many functions. This also means that the APIs will change over time as components are updated. Therefore, it is important to verify that an API call is still compatible with the cluster so that you will receive the desired response. Please review the documented section called <a href="https://docs.openshift.com/container-platform/4.14/rest_api/understanding-api-support-tiers.html">“Understanding API Tiers”</a>.</p>
</div>
<div class="paragraph">
<p>The most important thing to understand when considering which Z-release to upgrade to inside of a new Y-release is what patches need to be in the new Z-release. In other words if you are currently at OCP 4.11.28 you will need to make sure to upgrade to a Z-release of 4.12 that has all of the patches in it that were applied to 4.11.28, otherwise you will break the built-in compatibility of Kubernetes.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="k8s-skew"><a class="anchor" href="#k8s-skew"></a>Kubernetes Version Skew</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Support of specific API versions needs to be maintained by each cluster operator. With new releases of operators come new APIs. Therefore, the changes or skews in APIs need to be maintained. To a certain extent the APIs can be compatible across several releases of an operator. This list of operators and the releases that are compatible are at: <a href="https://kubernetes.io/releases/version-skew-policy" class="bare">https://kubernetes.io/releases/version-skew-policy</a></p>
</div>
<div class="paragraph">
<p>The easiest way verify your application functionality will still work, is to make sure that you follow</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ocp-upgrade-path"><a class="anchor" href="#ocp-upgrade-path"></a>OpenShift Upgrade Path</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Please also note that not all releases of OCP can be upgraded to any arbitrary Z-release even if they contain all of the required patches.
OpenShift upgrade process mandates that:
If fix “A” is present in a specific X.Y.Z release of OCP
Then fix “A” MUST be present in the X.Y+1.Z release that OCP is upgraded TO</p>
</div>
<div class="paragraph">
<p>Consequence of the chosen destination version of 4.12.z defines which is the maximum version of OCP4.11.z, OCP4.10.z and OCP4.9.z
not all 4.9.z version will permit to upgrade to a given version of OCP4.12.z
A given version of OCP4.12.z will have requirements to a maximum version of OCP4.9z
This is due to how fixes are backported into older releases of OCP.</p>
</div>
<div class="paragraph">
<p>You can use the <a href="https://access.redhat.com/labs/ocpupgradegraph/update_path">upgrade graph tool</a> to determine if the path is valid for your z-release. You should also always verify with your Sales Engineer or Technical Account Manager at Red Hat to make sure the upgrade path is valid for Telco implementations.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="_images/k8s-vers-skew.png" alt="k8s vers skew">
</div>
<div class="title">Figure 1. K8s Version Skey</div>
</div>
</div>
</div>
<nav class="pagination">
<span class="prev"><a href="introduction.html">Introduction</a></span>
</nav>
</article>
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
</div>
</main>
</div>
<footer class="footer">
<a class="rhd-logo" href="https://redhat.com" target="_blank"></div>
</footer>
<script src="../_/js/vendor/clipboard.js"></script>
<script src="../_/js/site.js"></script>
<script async src="../_/js/vendor/highlight.js"></script>
</body>
</html>
182 changes: 182 additions & 0 deletions 4.12-4.14/Applying-MCPs.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Applying MCPs :: LAB - Telco OCP Upgrade Lab</title>
<link rel="canonical" href="https://labs.sysdeseng.com/4.12-4.14/Applying-MCPs.html">
<meta name="generator" content="Antora 3.0.0">
<link rel="stylesheet" href="../_/css/site.css">
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="https://www.redhat.com/en/solutions/telecommunications" target="_blank"><img src="../_/img/Logo-Red_Hat-A-Reverse-RGB.png" height="40px" alt="Red Hat Telco Solutions"></a>
<a class="navbar-item" style="font-size: 24px; color: white" href="https://labs.sysdeseng.com">LAB - Telco OCP Upgrade Lab</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="https://developers.redhat.com/ebooks/" target="_blank">Books</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">More Tutorials</a>
<div class="navbar-dropdown">
<a class="navbar-item" href="https://redhat-developer-demos.github.io/kubernetes-tutorial/" target="_blank">Kubernetes</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/istio-tutorial/" target="_blank">Istio</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/quarkus-tutorial/" target="_blank">Quarkus</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/knative-tutorial/" target="_blank">Knative</a>
<a class="navbar-item" href="https://redhat-developer-demos.github.io/tekton-tutorial/" target="_blank">Tekton</a>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="body">
<div class="nav-container" data-component="4.12-4.14" data-version="">
<aside class="nav">
<div class="panels">
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="index.html"></a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="index.html">Welcome</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="index.html#contributors">Contributors</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="introduction.html">Introduction</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="introduction.html#lab-aim">Who is this lab aimed at?</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="introduction.html#lab-software-versions">Lab Software Versions</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="API-Compatibility.html">OCP API Compatibility Policy</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="API-Compatibility.html#cnf-api-compatibility">CNF API Compatibility</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="API-Compatibility.html#k8s-skew">Kubernetes Version Skew</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="API-Compatibility.html#ocp-upgrade-path">OpenShift Upgrade Path</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
</div>
</aside>
</div>
<main class="article">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="index.html">LAB - Telco OCP Upgrade Lab</a></li>
<li><a href="Applying-MCPs.html">Applying MCPs</a></li>
</ul>
</nav>
<div class="edit-this-page"><a href="https://github.com/RHsyseng/telco-ocp-upgrade-lab/edit/lab-4.12To4.14/documentation/modules/ROOT/pages/Applying-MCPs.adoc">Edit this Page</a></div>
</div>
<div class="content">
<article class="doc">
<h1 class="page">Applying MCPs</h1>
<div class="paragraph">
<p>First you can run “oc get mcp” to show your current list of MCPs:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"># oc get mcp</code></pre>
</div>
</div>
<div class="paragraph">
<p>List out all of your nodes:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"># oc get no</code></pre>
</div>
</div>
<div class="paragraph">
<p>Determine, from the above suggestions, how you would like to separate out your worker nodes into machine config pools
(MCP).<br>
In this example we will just use 1 node in each MCP.<br>
We first need to label the nodes so that they can be put into MCPs. We will do this with the following commands:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">oc label node euschannel-worker-0.test.corp node-role.kubernetes.io/*mcp-1*=</code></pre>
</div>
</div>
<div class="paragraph">
<p>This will show up when you run the “oc get node” command:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"># oc get no</code></pre>
</div>
</div>
<div class="paragraph">
<p>Now you need to create yaml files that will apply the labels as MCPs. Here is one example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">apiVersion: machineconfiguration.openshift.io/v1</code></pre>
</div>
</div>
<div class="paragraph">
<p>For each of these, just run “oc apply -f {filename.yaml}”:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"># oc apply -f test-mcp-2.yaml</code></pre>
</div>
</div>
<div class="paragraph">
<p>Now you can run “oc get mcp” again and your new MCPs will show. Please note that you will still see the original worker
and master MCPs that are part of the cluster.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"># oc get mcp</code></pre>
</div>
</div>
</article>
<aside class="toc sidebar" data-title="Contents" data-levels="2">
<div class="toc-menu"></div>
</aside>
</div>
</main>
</div>
<footer class="footer">
<a class="rhd-logo" href="https://redhat.com" target="_blank"></div>
</footer>
<script src="../_/js/vendor/clipboard.js"></script>
<script src="../_/js/site.js"></script>
<script async src="../_/js/vendor/highlight.js"></script>
</body>
</html>
Loading

0 comments on commit 4c4f3dd

Please sign in to comment.