1
0
Fork 0
kubernetes/jenkins
Dustin 98651cf9d9 jenkins: Force iSCSI volume on specific nodes
Instead of routing iSCSI traffic from the Kubernetes network, through
the firewall, to the storage network, nodes now have a second network
adapter connected to directly to the storage network.  The nodes with
such an adapter are labelled `network.du5t1n.me/storage`, so we can pin
the Jenkins PersistentVolume to them via a node affinity rule.
2024-06-26 18:29:49 -05:00
..
.gitignore jenkins: Migrate to iSCSI persistent volume 2024-06-23 09:53:15 -05:00
README.md jenkins: Migrate to iSCSI persistent volume 2024-06-23 09:53:15 -05:00
argocd-sync-hook.yaml jenkins: Add Argo CD pre-sync hook 2023-10-22 21:50:25 -05:00
iscsi-migrate.yaml jenkins: Migrate to iSCSI persistent volume 2024-06-23 09:53:15 -05:00
iscsi.yaml jenkins: Force iSCSI volume on specific nodes 2024-06-26 18:29:49 -05:00
jenkins.yaml jenkins: Update to 2.426.2 2024-01-22 18:01:03 -06:00
kustomization.yaml jenkins: Migrate to iSCSI persistent volume 2024-06-23 09:53:15 -05:00
secrets.yaml jenkins: Add credentials to sign, publish RPMs 2023-11-10 15:31:55 -06:00
ssh_known_hosts jenkins: Add CA key to ssh_known_hosts 2024-01-22 17:52:35 -06:00

README.md

Jenkins in Kubernetes

Kubernetes Setup

Configure Jenkins resources:

ln imagepull-gitea jenkins/.dockerconfigjson
kubectl apply -k jenkins

Jenkins Setup

Install Kubernetes plugin.

Set TCP port for inbound agents setting (Manage JenkinsConfigure Global Security) to Fixed and enter 40414.

Configure Kubernetes (Manage JenkinsManage Nodes and CloudsConfigure Clouds:

  1. Add a new cloudKubernetes
  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!)

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.