88 lines
4.3 KiB
XML
88 lines
4.3 KiB
XML
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||
<channel>
|
||
<title>Jenkins Operator – How it works</title>
|
||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/</link>
|
||
<description>Recent Hugo news from gohugo.io</description>
|
||
<generator>Hugo -- gohugo.io</generator>
|
||
<lastBuildDate>Mon, 05 Aug 2019 00:00:00 +0000</lastBuildDate>
|
||
<image>
|
||
<url>https://jenkinsci.github.io/kubernetes-operator/img/hugo.png</url>
|
||
<title>GoHugo.io</title>
|
||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/</link>
|
||
</image>
|
||
|
||
<atom:link href="https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/index.xml" rel="self" type="application/rss+xml" />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<item>
|
||
<title>Docs: Architecture and design</title>
|
||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/architecture-and-design/</link>
|
||
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
|
||
|
||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/architecture-and-design/</guid>
|
||
<description>
|
||
|
||
|
||
|
||
|
||
<p>The <strong>Jenkins Operator</strong> design incorporates the following concepts:</p>
|
||
|
||
<ul>
|
||
<li>watches any changes of manifests and maintain the desired state according to deployed custom resource manifest</li>
|
||
<li>implements the main reconciliation loop which consists of two smaller reconciliation loops - base and user</li>
|
||
</ul>
|
||
|
||
<p><img src="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/img/reconcile.png" alt="reconcile" /></p>
|
||
|
||
<p><strong>Base</strong> reconciliation loop takes care of reconciling base Jenkins configuration, which consists of:</p>
|
||
|
||
<ul>
|
||
<li>Ensure Manifests - monitors any changes in manifests</li>
|
||
<li>Ensure Jenkins Pod - creates and verifies the status of Jenkins master Pod</li>
|
||
<li>Ensure Jenkins Configuration - configures Jenkins instance including hardening, initial configuration for plugins, etc.</li>
|
||
<li>Ensure Jenkins API token - generates Jenkins API token and initialized Jenkins client</li>
|
||
</ul>
|
||
|
||
<p><strong>User</strong> reconciliation loop takes care of reconciling user provided configuration, which consists of:</p>
|
||
|
||
<ul>
|
||
<li>Ensure Restore Job - creates Restore job and ensures that restore has been successfully performed<br /></li>
|
||
<li>Ensure Seed Jobs - creates Seed Jobs and ensures that all of them have been successfully executed</li>
|
||
<li>Ensure User Configuration - executed user provided configuration, like groovy scripts, configuration as code or plugins</li>
|
||
<li>Ensure Backup Job - creates a Backup job and ensures that backup has been successfully performed</li>
|
||
</ul>
|
||
|
||
<p><img src="https://jenkinsci.github.io/kubernetes-operator/kubernetes-operator/img/phases.png" alt="reconcile" /></p>
|
||
|
||
<h2 id="operator-state">Operator State</h2>
|
||
|
||
<p>Operator state is kept in the custom resource status section, which is used for storing any configuration events or job statuses managed by the operator.</p>
|
||
|
||
<p>It helps to maintain or recover the desired state even after the operator or Jenkins restarts.</p>
|
||
|
||
</description>
|
||
</item>
|
||
|
||
<item>
|
||
<title>Docs: Jenkins Docker Images</title>
|
||
<link>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/jenkins-docker-images/</link>
|
||
<pubDate>Mon, 05 Aug 2019 00:00:00 +0000</pubDate>
|
||
|
||
<guid>https://jenkinsci.github.io/kubernetes-operator/docs/how-it-works/jenkins-docker-images/</guid>
|
||
<description>
|
||
|
||
|
||
<p><strong>Jenkins Operator</strong> is fully compatible with <strong><code>jenkins:lts</code></strong> Docker image and does not introduce any hidden changes to the upstream Jenkins.</p>
|
||
|
||
<p>If needed, the Docker image can be easily changed in custom resource manifest as long as it supports standard Jenkins file system structure.</p>
|
||
|
||
</description>
|
||
</item>
|
||
|
||
</channel>
|
||
</rss> |