• kubernetes部署jenkins


    参考:kubernetes 部署 Jenkins jenkins kubernetes pipeline_mob64ca14116c53的技术博客_51CTO博客

    第七篇:kubernetes部署jenkins-CSDN博客

    1、当前kubernetes集群已部署nfs服务

    showmount -e

    创建jenkins目录

    2、添加jenkins的pvc

    kubectl create namespace jenkins-k8s

    cd /opt/dockerfile/jenkins/

    touch jenkins-pv.yaml

    1. apiVersion: v1
    2. kind: PersistentVolume
    3. metadata:
    4. name: jenkins-k8s-pv
    5. spec:
    6. capacity:
    7. storage: 10Gi
    8. accessModes:
    9. - ReadWriteMany
    10. nfs:
    11. server: 192.168.1.247
    12. path: /opt/nfsdata/jenkins

    touch jeckins-pvc.yaml

    1. kind: PersistentVolumeClaim
    2. apiVersion: v1
    3. metadata:
    4. name: jenkins-k8s-pvc
    5. namespace: jenkins-k8s
    6. spec:
    7. resources:
    8. requests:
    9. storage: 10Gi
    10. accessModes:
    11. - ReadWriteMany

    kubectl get pv -n jenkins-k8s

     创建一个sa账号,做rbac授权

    kubectl create sa jenkins-k8s-sa -n jenkins-k8s

    kubectl create clusterrolebinding jenkins-k8s-sa-cluster -n jenkins-k8s  --clusterrole=cluster-admin --serviceaccount=jenkins-k8s:jenkins-k8s-sa

    2、部署 jenkins

    kubectl apply -f jeckins-deploy.yaml

    1. kind: Deployment
    2. apiVersion: apps/v1
    3. metadata:
    4. name: jenkins
    5. namespace: jenkins-k8s
    6. spec:
    7. replicas: 1
    8. selector:
    9. matchLabels:
    10. app: jenkins
    11. template:
    12. metadata:
    13. labels:
    14. app: jenkins
    15. spec:
    16. serviceAccount: jenkins-k8s-sa
    17. containers:
    18. - name: jenkins
    19. image: jenkins/jenkins:lts
    20. imagePullPolicy: IfNotPresent
    21. ports:
    22. - containerPort: 8080
    23. name: web
    24. protocol: TCP
    25. - containerPort: 50000
    26. name: agent
    27. protocol: TCP
    28. resources:
    29. limits:
    30. cpu: 1000m
    31. memory: 1Gi
    32. requests:
    33. cpu: 500m
    34. memory: 512Mi
    35. livenessProbe:
    36. httpGet:
    37. path: /login
    38. port: 8080
    39. initialDelaySeconds: 60
    40. timeoutSeconds: 5
    41. failureThreshold: 12
    42. readinessProbe:
    43. httpGet:
    44. path: /login
    45. port: 8080
    46. initialDelaySeconds: 60
    47. timeoutSeconds: 5
    48. failureThreshold: 12
    49. volumeMounts:
    50. - name: jenkins-volume
    51. subPath: jenkins-home
    52. mountPath: /var/jenkins_home
    53. volumes:
    54. - name: jenkins-volume
    55. persistentVolumeClaim:
    56. claimName: jenkins-k8s-pvc

    kubectl apply -f jeckins-deploy.yaml

    kubectl describe pod jenkins-74bb6797d9-qd92c -n jenkins-k8s
     

    kubectl logs pod jenkins-74bb6797d9-qd92c -c jenkins -n jenkins-k8s
    没权限

    chown -R 1000:1000 /opt/nfsdata/jenkins

    kubectl delete -f jeckins-deploy.yaml

    重装

    kubectl apply -f jeckins-deploy.yaml

    kubectl get pod -n jenkins-k8s  -owide

    3、验证

    kubectl get pod -n jenkins-k8s -owide

    curl 10.100.27.19:8080

    4、kubectl apply -f jenkins-service.yaml

    1. apiVersion: v1
    2. kind: Service
    3. metadata:
    4. name: jenkins-service
    5. namespace: jenkins-k8s
    6. labels:
    7. app: jenkins
    8. spec:
    9. selector:
    10. app: jenkins
    11. type: NodePort
    12. ports:
    13. - name: web
    14. port: 8080
    15. targetPort: web
    16. nodePort: 30002
    17. - name: agent
    18. port: 50000
    19. targetPort: agent

    kubectl get svc -n jenkins-k8s

    cd /opt/nfsdata/jenkins/jenkins-home/secrets

    若无法正常配置,可尝试http://192.168.1.12:30002/restart

    安装推荐的插件:

    创建用户名密码,搭建完成。

    http://192.168.1.247:30002/


     

  • 相关阅读:
    保持长期主义,打开你的赚钱密码?
    VUE3脚手架工具cli配置搭建及创建VUE工程
    RocketMQ 系列(四) 消息存储
    SpringMvc 源码分析 (如何自定义视图 + 如何自定义异常) (十四)
    【解决方法】错误:无法和SFTP服务器建立FTP连接,请选择合适的协议
    算法 旋转矩阵
    毕设准备---Maven
    刘二大人 PyTorch深度学习实践 笔记 P2 线性模型
    改进深度神经网络的产品制造周期预测
    anydesk 远程控制
  • 原文地址:https://blog.csdn.net/wangqiaowq/article/details/134441659