1
0
Fork 0
kubernetes/jenkins/README.md

40 lines
1.1 KiB
Markdown

# Jenkins in Kubernetes
## Kubernetes Setup
Configure Jenkins resources:
```sh
ln imagepull-gitea jenkins/.dockerconfigjson
kubectl apply -k jenkins
```
## Jenkins Setup
Install [Kubernetes plugin][0].
Set *TCP port for inbound agents* setting (*Manage Jenkins* → *Configure Global
Security*) to *Fixed* and enter `40414`.
Configure Kubernetes (*Manage Jenkins* → *Manage Nodes and Clouds* → *Configure
Clouds*:
1. *Add a new cloud**Kubernetes*
2. Enter a name
3. *Kubernetes Cloud details...*
* *Kubernetes URL*: (leave blank; will use Kubernetes service discovery)
* *Kubernetes Namespace*: `jenkins-jobs`
* *Credentials*: `- none -` (will use Service Account token)
* *Jenkins tunnel*: `jenkins.jenkins.svc.cluster.local:` (trailing colon!)
[0]: https://plugins.jenkins.io/kubernetes/
## iSCSI Persistent Volume
Because of the large size of the Jenkins volume, it does not work well managed
by Longhorn. Instead, we use a pre-provisioned iSCSI volume on the Synology
NAS. This improves performance and avoids keeping multiple replicas of the
Jenkins data, while still benefiting from snapshots, etc.