基于K8S安装Jenkins
前言上篇讲了基于传统命令行和Docker安装Jenkins:https://blog.csdn.net/m0_57776598/article/details/123692901?spm=1001.2014.3001.5501也说了Jenkins的相关概念和重要目录,下面来操作基于K8S平台安装Jenkins环境说明:K8S:1.18.1版本,单机模式:一个master两个nodeDocker:D
前言
上篇讲了基于传统命令行和Docker安装Jenkins:
https://blog.csdn.net/m0_57776598/article/details/123692901?spm=1001.2014.3001.5501
也说了Jenkins的相关概念和重要目录,下面来操作基于K8S平台安装Jenkins
环境说明:
K8S:1.18.1版本,单机模式:一个master 两个node
Docker:Docker version 20.10.12, build e91ed57
CentOS7.5
|主机 IP|
|master | 192.168.9.10|
|node1 | 192.168.9.130 |
|node2 | 192.168.9.131 |
由于Jenkins的配置文件需要向外暴露,这里采用存储卷的形式来映射到Jenkins的工作目录(/var/jenkins_home)。存储卷以NFS网络存储卷为基础。
这里就是简单的存储卷,没有使用到PVC,PV等持久存储卷。
安装部署
搭建NFS服务端
说明:这里我把master节点作为NFS服务器,node1和node2作为客户端。
0、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0 #关闭selinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
1、在master节点安装NFS服务端软件包
yum install -y nfs-utils rpcbind
2、创建存储目录
mkdir -p /data/volume
3、修改配置文件
vi /etc/exports
/data/volume 192.168.9.0/24(rw,async,no_root_squash) #改成自己的网段
4、启动服务
systemctl restart rpcbind
systemctl enable nfs && systemctl restart nfs
5、测试本地NFS服务
showmount -e 127.0.0.1
Export list for master:
/data/volume 192.168.9.0/24
搭建NFS客户端
1、```bash
yum install -y nfs-utils
2、启动服务
```bash
systemctl restart rpcbind
systemctl enable nfs && systemctl restart nfs
3、测试服务端NFS服务
showmount -e master #服务端IP
Export list for master:
/data/volume 192.168.9.0/24
安装Jenkins
1、先拉取镜像(所有节点)
docker pull jenkinsci/blueocean
2、编写deployment,services的YAML文件
[root@master ~]# cat deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins-deploy
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: jenkins
template:
metadata:
name: jenkins-pod
namespace: default
labels:
app: jenkins
spec:
containers:
- name: jenkins-con
image: jenkinsci/blueocean:latest
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 0 #设置以ROOT用户运行容器
privileged: true #拥有特权
ports:
- containerPort: 8080
containerPort: 50000
volumeMounts:
- name: jenkins-j
mountPath: /var/jenkins_home
volumes:
- name: jenkins-j
nfs:
path: /data/volume
server: 192.168.9.10
---
apiVersion: v1
kind: Service
metadata:
name: jenkins-svc
namespace: default
labels:
app: jenkins-svc
spec:
type: NodePort
selector:
app: jenkins
ports:
- port: 8080
targetPort: 8080
nodePort: 30002
# - port: 50000
# targetPort: 50000
# nodePort: 30003
3、查看30002端口,并在浏览器访问:
IP:30002
2、获取密码
由于我们做了个NFS映射到本地的存储卷,所以我们在本地的:/data/volume/secrets/initialAdminPassword目录查看密码即可
[root@master ~]# vi /data/volume/secrets/initialAdminPassword
e6f827081e85470fa992fff38883a837
输入即可,下面的插件安装不在介绍,请参考上篇文章。
更多推荐
所有评论(0)