• k8s中安装jenkins


    编写jenkins.yaml

    说明:

      容器跑起来后,jenkins的目录是/var/jenkins_home

      存储卷用的是hostPath,这里面我们指定pod调度到k8s-master01

    在k8s-master01上创建目录:mkdir /data_jenkins

    创建名称空间:kubectl create ns jenkins

    jenkins.yaml

    1. kind: Deployment
    2. apiVersion: apps/v1
    3. metadata:
    4. name: jenkins
    5. namespace: jenkins
    6. spec:
    7. replicas: 1
    8. selector:
    9. matchLabels:
    10. app: jenkins
    11. template:
    12. metadata:
    13. labels:
    14. app: jenkins
    15. spec:
    16. nodeName: k8s-master01
    17. containers:
    18. - name: jenkins
    19. image: jenkins/jenkins:latest
    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: 2000m
    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. mountPath: /var/jenkins_home
    52. volumes:
    53. - name: jenkins-volume
    54. hostPath:
    55. path: /data_jenkins
    56. type: DirectoryOrCreate
    57. ---
    58. apiVersion: v1
    59. kind: Service
    60. metadata:
    61. name: jenkins-svc
    62. namespace: jenkins
    63. labels:
    64. app: jenkins
    65. spec:
    66. selector:
    67. app: jenkins
    68. type: NodePort
    69. ports:
    70. - name: web
    71. port: 8080
    72. targetPort: web
    73. nodePort: 30667
    74. - name: agent
    75. port: 50000
    76. targetPort: agent

    另外,jenkins在容器中的uid是1000,赋予其宿主机上目录的权限:chown -R 1000.1000 /data_jenkins

    创建资源

    应用资源文件:kubectl apply -f jenkins.yaml

    查看pod:kubectl get po -n jenkins -owide

    查看svc:kubectl get svc -n jenkins

    通过k8s集群任意一个节点访问:192.168.117.161:30667

    进入容器查看密码:

    kubectl exec -it -n jenkins po/jenkins-dd6c9cdcd-m9964 -- sh

     密码是: 1e45bee7642d44e3acd5e9563f1bebf2

    也可以在宿主机上查看密码:

    输入密码,点击“继续”

    选择“安装推荐的插件”

     此步耗时较多,需要耐心等待

     

    点击“继续”,创建第一个管理员用户

    配置站点

    也就是更改插件源为国内插件源,否则下载插件会很慢

    URL中输入如下内容:

    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    点击“立即获取” 

    bak005

  • 相关阅读:
    从系统设计到撸代码?我用了这些方法和工具
    英文ppt怎么翻译成中文?教你几种ppt翻译方法
    flutter开发实战-hero实现图片预览功能extend_image
    【黑马-SpringCloud技术栈】【03】Eureka注册中心_Ribbon负载均衡
    DataX实现Mysql与ElasticSearch(ES)数据同步
    代码复现——在eclipse里运行gradle项目
    非线性系统的理论和方法,神经网络的非线性
    java-python高校大学教室管理系统
    golang设计模式——备忘录模式
    用opencv实现人脸识别(5)
  • 原文地址:https://blog.csdn.net/weixin_44896406/article/details/126678592