77 lines
3.9 KiB
XML
77 lines
3.9 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:
|
||
- watches any changes of manifests and maintain the desired state according to deployed custom resource manifest
|
||
- implements the main reconciliation loop which consists of two smaller reconciliation loops - base and user</p>
|
||
|
||
<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:
|
||
- Ensure Manifests - monitors any changes in manifests
|
||
- Ensure Jenkins Pod - creates and verifies status of Jenkins master Pod
|
||
- Ensure Jenkins Configuration - configures Jenkins instance including hardening, initial configuration for plugins, etc.
|
||
- Ensure Jenkins API token - generates Jenkins API token and initialized Jenkins client</p>
|
||
|
||
<p><strong>User</strong> reconciliation loop takes care of reconciling user provided configuration, which consists of:
|
||
- Ensure Restore Job - creates Restore job and ensures that restore has been successfully performed<br />
|
||
- Ensure Seed Jobs - creates Seed Jobs and ensures that all of them have been successfully executed
|
||
- Ensure User Configuration - executed user provided configuration, like groovy scripts, configuration as code or plugins
|
||
- Ensure Backup Job - creates Backup job and ensures that backup has been successfully performed</p>
|
||
|
||
<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 custom resource status section, which is used for storing any configuration events or job statuses managed by the operator.
|
||
It helps to maintain or recover desired state even after 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>jenkins:lts</strong> docker image and does not introduce any hidden changes there.
|
||
If needed, the docker image can easily be changed in custom resource manifest as long as it supports standard Jenkins file system structure.</p>
|
||
|
||
</description>
|
||
</item>
|
||
|
||
</channel>
|
||
</rss> |