k8s部署jenkins

下载jenkins镜像

docker pull jenkins/jenkins:2.277.4

Dockerfile

FROM jenkins/jenkins:2.277.4
USER root
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\ 
    echo 'Asia/Shanghai' >/etc/timezone
ADD id_rsa /root/.ssh/id_rsa
ADD config.json /root/.docker/config.json

构建镜像

docker build . -t harbor.uat.wuxingge.com.cn/uat/jenkins/jenkins:2.277.4
docker push harbor.uat.wuxingge.com.cn/uat/jenkins/jenkins:2.277.4

nfs配置

vim /etc/exports

/devops *(insecure,rw,sync,no_root_squash)

创建jenkins数据目录

mkdir /devops/jenkins

部署jenkins

jenkins_deploy_service.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
  namespace: devops
  labels: 
    name: jenkins
spec:
  replicas: 1
  selector:
    matchLabels: 
      name: jenkins
  template:
    metadata:
      labels: 
        app: jenkins 
        name: jenkins
    spec:
      volumes:
      - name: data
        nfs: 
          server: 10.10.98.32
          path: /devops/jenkins
      - name: docker-sock
        hostPath: 
          path: /run/docker.sock
      - name: docker
        hostPath: 
          path: /usr/bin/docker
      containers:
      - name: jenkins
        image: harbor.uat.wuxingge.com.cn/uat/jenkins/jenkins:2.277.4
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8080
          name: web
          protocol: TCP
        - containerPort: 50000
          name: agent
          protocol: TCP
        env:
        - name: JAVA_OPTS
          value: -Xmx512m -Xms512m
        volumeMounts:
        - name: data
          mountPath: /var/jenkins_home
        - name: docker-sock
          mountPath: /run/docker.sock
        - name: docker
          mountPath: /usr/bin/docker
#      imagePullSecrets:
#      - name: harbor
      securityContext: 
        runAsUser: 0
  strategy:
    type: RollingUpdate
    rollingUpdate: 
      maxUnavailable: 1
      maxSurge: 1
  revisionHistoryLimit: 7
  progressDeadlineSeconds: 600
---
kind: Service
apiVersion: v1
metadata: 
  name: jenkins
  namespace: devops
spec:
  ports:
  - name: web
    port: 8080
    targetPort: web
  - name: agent
    port: 50000
    targetPort: agent
  selector:
    app: jenkins

ingress.yaml

kind: Ingress
apiVersion: extensions/v1beta1
metadata: 
  name: jenkins
  namespace: devops
spec:
  rules:
  - host: jenkins.uat.wuxingge.com.cn
    http:
      paths:
      - path: /
        backend: 
          serviceName: jenkins
          servicePort: 8080

jenkin在k8s中的地址

http://jenkins.devops.svc.cluster.local:8080

jenkins ldap认证

系统管理 - 全局安全配置 - 安全域 - LDAP

Server:ldap://192.168.44.20:389
root DN:dc=wuxingge,dc=com,dc=cn
User search filter:(&(uid={0})(memberof=cn=jenkins,ou=application,dc=wuxingge,dc=com,dc=cn))
Group membership:选择 Search for LDAP groups containing user
Manager DN:cn=writeuser,cn=manager,dc=wuxingge,dc=com,dc=cn
Manager Password:password123
Test LDAP settings:User: ldap用户uid  ,  Password: ldap用户密码 , Test 需要连接成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wuxingge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值