zoukankan      html  css  js  c++  java
  • k8s下安装jenkins master

    1、创建servicecount和并绑定ClusterRole

    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      labels:
        name: jenkins
      name: jenkins
      namespace: default
    
    ---
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: jenkins
      labels:
        name: jenkins
    subjects:
      - kind: ServiceAccount
        name: jenkins
        namespace: jenkins
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io

    2、创建jenkins-master使用的pv和pvc

    ---
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: jenkins-master
    spec:
      persistentVolumeReclaimPolicy: Recycle
      capacity:
        storage: 5Gi
      accessModes:
        - ReadWriteMany
      nfs:
        server: 192.168.0.211
        path: /data/nfs/jenkins-master
    
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: jenkins-master
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 5Gi

    3、创建jenkins-master的deployment配置

    此处采用nfs挂载jenkins的数据目录

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: jenkins
      labels:
        name: jenkins
    spec:
      selector:
        matchLabels:
          name: jenkins
      replicas: 1
      template:
        metadata:
          labels:
            name: jenkins
        spec:
          serviceAccountName: jenkins
          containers:
          - name: jenkins
            image: 192.168.0.217:5000/library/jenkins:lts
            ports:
            - name: http
              containerPort: 8080
            - name: agent
              containerPort: 50000
            resources:
              limits:
                memory: 2Gi
                cpu: "1000m"
              requests:
                memory: 1Gi
                cpu: "500m"
            env:
            - name: LIMITS_MEMORY
              valueFrom:
                resourceFieldRef:
                  resource: limits.memory
                  divisor: 1Mi
            - name: "JAVA_OPTS"
              value: "
                       -Xmx$(LIMITS_MEMORY)m
                       -XshowSettings:vm
                       -Dhudson.slaves.NodeProvisioner.initialDelay=0
                       -Dhudson.slaves.NodeProvisioner.MARGIN=50
                       -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85
                       -Duser.timezone=Asia/Shanghai
                     "
            volumeMounts:
            - name: jenkins-home
              mountPath: /var/jenkins_home
          volumes:
          - name: jenkins-home
            persistentVolumeClaim:
              claimName: jenkins-master

    4、创建jenkins-master的service配置

    此处采用两种方式:

    第一种:采用NodePort方式

    kind: Service
    apiVersion: v1
    metadata:
      labels:
        name: jenkins
      name: jenkins
      namespace: default
    spec:
      selector:
        name: jenkins
      type: NodePort
      ports:
        - name: http
          port: 8080
          targetPort: 8080
          nodePort: 30011
        - name: agent
          port: 50000
          targetPort: 50000
          nodePort: 30012

    第二种:采用ClusterIP方式,并使用ingress方式访问

    kind: Service
    apiVersion: v1
    metadata:
      labels:
        name: jenkins
      name: jenkins
      namespace: default
    spec:
      selector:
        name: jenkins
      ports:
        - name: http
          port: 8080
          targetPort: 8080
        - name: agent
          port: 50000
          targetPort: 50000

    ingress文件如下:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: ingress-myapp
      namespace: default
    spec:
      rules:
      - host: myapp.test.com
        http:
          paths:
          - path:
            backend:
              serviceName: jenkins
              servicePort: 8080

    在本地配置host后即可访问jenkins

  • 相关阅读:
    Java实现 LeetCode 432 全 O(1) 的数据结构
    Java实现 LeetCode 432 全 O(1) 的数据结构
    Makefile 自动生成依赖
    比较详细的利用虚拟机对SD卡FAT32+EXT4+Ext4分区图解教程
    STM32F0308开发环境的选择--CooCox CoIDE篇
    linux下包管理命令yum与apt-get以及开发环境配置
    裸机编程与OS环境编程的有关思考
    Eclipse C/C++环境配置
    Linux Eclipse代码提示功能设置(Java & C/C++)
    Linux下高效编写Shell——shell特殊字符汇总
  • 原文地址:https://www.cnblogs.com/deny/p/13880579.html
Copyright © 2011-2022 走看看