农民 发表于 2026-2-2 06:36:40

学习条记七:设置jenkins2.421

K8s版本
kubectl get nodes -owide
   找到末了一列CONTAINER-RUNTIME
假如表现的是docker,就分析用docker做的容器运行时。
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYTI4NWFmNDA5YzRmNDU3N2E3NTZjMTk0MThjZTMzYWUucG5n
安装Jenkins

   安装nfs服务,可以选择本身的恣意一台呆板,我选择的是k8s的控制节点k8smaster1
假如已经安装过nfs,这个步调可以忽略
yum install nfs-utils -y
systemctl start nfs
systemctl enable nfs
   在k8smaster1上创建一个nfs共享目次
mkdir /data/v2-p
vim /etc/exports
/data/v1 *(rw,no_root_squash)
/data/v2 *(rw,no_root_squash)
   使设置文件收效
exportfs -arv
在kubernetes中摆设jenkins

创建名称空间

kubectl create namespace jenkins-k8s
创建pv,上传pv.yaml

cat pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: jenkins-k8s-pv
spec:
capacity:
    storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
    server: 192.168.40.120
    path: /data/v2
kubectl apply -f pv.yaml
kubectl get pv
创建pvc

cat pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: jenkins-k8s-pvc
namespace: jenkins-k8s
spec:
resources:
    requests:
      storage: 10Gi
accessModes:
- ReadWriteMany
kubectl apply -f pvc.yaml
kubectl get pvc -n jenkins-k8s
创建一个sa账号

kubectl create sa jenkins-k8s-sa -n jenkins-k8s
   把上面的sa账号做rbac授权
kubectl create clusterrolebinding jenkins-k8s-sa-cluster -n jenkins-k8s--clusterrole=cluster-admin --serviceaccount=jenkins-k8s:jenkins-k8s-sa
通过deployment摆设jenkins

导入jenkins镜像

   在k8snode节点实行
备注:image镜像
jenkins/jenkins:2.421,不能用再新的版本了,假如版本大于jenkins/jenkins:2.421,提供的pod template模板处用到的jenkins-slave-latest:v1镜像就会和主jenkins创建不了毗连,就会报错。
通过网盘分享的文件:jenkins2.421.tar.gz
链接: https://pan.baidu.com/s/1LWVBOIkm7A6ar8-wpHIidA?pwd=eye2 提取码: eye2
#复制jenkins2.421.tar.gz 到k8snode1节点后执行
ctr -n=k8s.io images import jenkins2.421.tar.gz
上传jenkins-slave从节点jenkins-slave-latest:v1镜像

   jenkins/jenkins:2.421是安装jenkins pod的
jenkins-slave 是从节点pod。在大型或复杂的 Jenkins 体系中,jenkins主服务器通常不实行构建工作,而是把构建使命分发给从服务器来实行。
备注:jenkins-slave-latest.tar.gz这个内里封装的镜像是jenkins-slave-latest:v1
复制jenkins-slave-latest.tar.gz至k8snode1
通过网盘分享的文件:jenkins-slave-latest.tar.gz
链接: https://pan.baidu.com/s/12pUHBbUXaUvaW1Qsk8LX_g?pwd=54yc 提取码: 54yc
ctr -n=k8s.io images import jenkins-slave-latest.tar.gz
更新资源清单文件

cat jenkins-deployment.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
name: jenkins
namespace: jenkins-k8s
spec:
replicas: 1
selector:
    matchLabels:
      app: jenkins
template:
    metadata:
      labels:
      app: jenkins
    spec:
      serviceAccount: jenkins-k8s-sa
      containers:
      - name: jenkins
      image:jenkins/jenkins:2.421
      imagePullPolicy: IfNotPresent
      ports:
      - containerPort: 8080
          name: web
          protocol: TCP
      - containerPort: 50000
          name: agent
          protocol: TCP
      resources:
          limits:
            cpu: 2000m
            memory: 2Gi
          requests:
            cpu: 500m
            memory: 512Mi
      livenessProbe:
          httpGet:
            path: /login
            port: 8080
          initialDelaySeconds: 60
          timeoutSeconds: 5
          failureThreshold: 12
      readinessProbe:
          httpGet:
            path: /login
            port: 8080
          initialDelaySeconds: 60
          timeoutSeconds: 5
          failureThreshold: 12
      volumeMounts:
      - name: jenkins-volume
          subPath: jenkins-home
          mountPath: /var/jenkins_home
      volumes:
      - name: jenkins-volume
      persistentVolumeClaim:
          claimName: jenkins-k8s-pvc
kubectl apply -f jenkins-deployment.yaml

kubectl get pods -n jenkins-k8s

NAME                     READY   STATUS   RESTARTS   AGE
jenkins-75c478947f-2tx8h   0/1   Error    1 (3s ago)   4s
   看到jenkins-75c478947f-2tx8h 是CrashLoopBackOff状态,检察日志:
kubectl logs jenkins-75c478947f-2tx8h -n jenkins-k8s
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvMGVmYTIwOGI1MGU0NDRhYWFiOWZkM2Q4YjBmZGU4MTUucG5n
   报错表现没有权限操纵/var/jenkins_home/copy_reference_file.log文件
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
   办理办法如下:在k8smaster实行
kubectl delete -f jenkins-deployment.yaml
chown -R 1000.1000 /data/v2
kubectl apply -f jenkins-deployment.yaml
   检察pod是否创建乐成:
kubectl get pods -n jenkins-k8s
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvN2JkNGJiOTVmN2Q5NGVlMWIzZjA4MDFjNDFhY2Q5MjMucG5n
把jenkins前端加上service,提供外部网络访问

cat jenkins-service.yaml
apiVersion: v1
kind: Service
metadata:
name: jenkins-service
namespace: jenkins-k8s
labels:
    app: jenkins
spec:
selector:
    app: jenkins
type: NodePort
ports:
- name: web
    port: 8080
    targetPort: web
    nodePort: 30002
- name: agent
    port: 50000
    targetPort: agent

kubectl apply -f jenkins-service.yaml
kubectl get svc -n jenkins-k8s
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvODhiZDZmZDIwYTlhNDY1YzhmZTI2NTFiNmU1MzBmYTUucG5n
   通过上面可以看到service的8080端口在物理机映射的端口是30002
设置Jenkins

在欣赏器访问jenkins的web界面:
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYjEzNDkwNTMxOTBhNGRlYjk3NmJhMTUxMjM2ODMyNGUucG5n
获取管理员暗码

   在nfs服务端,也就是我们的master1节点获取暗码:
cat/data/v2/jenkins-home/secrets/initialAdminPassword
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvMTFlYzFkMDdhMmUyNGJlMDlmZjdkYTY1MDFiMzZjYjUucG5n
   把上面获取到的暗码拷贝到上面管理员暗码下的方框里
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvZTAyZTI1ODBlYWZhNDFkOWJlODAzYzAyNTY2YzMwNTcucG5n
   点击继续,出现如下界面
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYjRmNDExMmNmMzI1NDQ4ZDhhM2ZkYjc5ODUxMmM0NGUucG5n
安装插件,安装保举的插件

https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvMDY2MGVhYzk0NGJiNDA5ODg4M2JmNGEwYTAzNWY0ZmMucG5n
1)Jenkins离线插件下载地址:
http://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/

可以在Jenkins官网上搜索想要下载的插件,点击“Download”按钮下载.hpi文件。
2)Jenkins离线插件安装方法:
方法一:
1)在Jenkins管理页面点几“系统管理” -> “插件管理” -> “高级”。
2)选择“上传插件”,并选择下载的.hpi文件。
3)点击“上传”按钮,等待插件安装完成。
   插件安装好之后表现如下,创建第一个管理员用户
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNzU4NGFmODFhYjM5NDcyMGE1YjJkZDQ5NmZmMTc1NmUucG5n
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvMTJhMWMxNWZlZjUyNGY1OWE1MjgwZTcwOTA5NTQxNzkucG5n
   用户名和暗码都设置成admin,线上情况必要设置成复杂的暗码
修改好之后点击生存并完成,出现如下界面
点击生存并完成,出现如下界面
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYzRhNGQzODAyNzRhNDg2YzllZjZhNjRiNTI2YWNkMzQucG5n
   点击生存并完成,出现如下界面
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvMmJiMzMyYWY1NzdmNDAxZjk1Y2JmNjc0M2Q5NjA2ZjgucG5n

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页: [1]
查看完整版本: 学习条记七:设置jenkins2.421