首页 > 其他 > 详细

jenkins+k8s

时间:2021-05-07 00:40:50      阅读:43      评论:0      收藏:0      [点我收藏+]

1.安装java环境

jenkins是基于Java开发的持续集成工具,所以必须安装java环境
移出旧版本JDK
yum remove -y `yum list installed | grep java | awk {print $1}` 
yum remove -y `yum list installed | grep jdk | awk {print $1}`

 

安装JDK1.8所有相关依赖
yum install -y java-1.8.0-openjdk*
 
设置环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
 

2.安装maven

下载安装包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz
解压
tar xf apache-maven-3.8.1-bin.tar.gz -C /usr/local/mvn3
 
设置环境变量
export M2_HOME=/usr/local/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
 

3.安装jenkins

首先安装yum-fastestmirror插件,它会自动选择最快的yum源,节约漫长的下载时间
yum install yum-fastestmirror -y
 
添加jenkins源
 
wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum clean all && yum makecache
安装jenkins
yum -y install jenkins
启动jenkins
systemctl start jenkins

4.初次打开jenkins

如果到这里没问题的话,就应该能打开jenkins页面了,输入http://(你的ip或者域名):8080就能看到如下

 技术分享图片

技术分享图片
插件安装选择推荐插件
技术分享图片
技术分享图片
 技术分享图片
技术分享图片
插件安装完成以后将会创建管理员账户
技术分享图片
技术分享图片
安装完成:
技术分享图片
技术分享图片

5.安装常用插件

设置Jenkins,安装插件:Pipeline Maven Integration、Maven Integration、Publish Over SSH、Gitee、Kubernetes、Kubernetes Continuous Deploy、Kubernetes Client API、Kubernetes Credentials
技术分享图片

 

技术分享图片
 技术分享图片
技术分享图片

6.全局工具配置

技术分享图片
 技术分享图片
技术分享图片
 技术分享图片
技术分享图片
 
技术分享图片
 技术分享图片
 

7.配置kubernetes

技术分享图片
技术分享图片
 技术分享图片
技术分享图片
技术分享图片
技术分享图片
[root@master01 .kube]# ls
cache config http-cache
[root@master01 .kube]# pwd
/root/.kube
[root@master01 .kube]# cat config
技术分享图片
技术分享图片
kubectl create serviceaccount hansl -n hantest
kubectl create clusterrolebinding hansl --clusterrole=cluster-admin --serviceaccount=hantest:hansl
kubectl -n hantest describe secrets $(kubectl -n hantest get secret | grep hansl | awk {print $1})
kubectl -n hantest get secret | grep hansl | awk {print $1}
kubectl get secret hansl-token-7vqrc -oyaml -n hantest
技术分享图片
技术分享图片
 技术分享图片
技术分享图片
添加凭据kubeconfig类型(pipeline中kubeconfigId使用)
技术分享图片
技术分享图片

8.创建构建任务

技术分享图片
方法一
按照这个方法由于版本原因报错(指定1.0.0版本可用)
技术分享图片
pipeline {
  agent any
  stages {
    stage(重新部署cyl-erp-web) {
      steps(wget) {
        sh rm -rf nginx.yaml
        sh wget  https://hansl.coding.net/p/hansl/d/hantest/git/raw/master/nginx.yaml
        sh cat nginx.yaml
      }
    }
    stage(部署nginx){
      steps {
        kubernetesDeploy(kubeconfigId: k8s, configs: nginx.yaml)
      }
    }    
  }
}
高版本报错
技术分享图片

 这个插件的这个版本最好使!!!   Kubernetes CD to version 1.0

升级到高级 在使用中会报错
原因不明,但是版本降低到1.0就可以执行成功

技术分享图片

方法二
用证书去生成连接k8s的kubeconfig,如下图
点击下面的generate pieline script 就会生成部署的语句
技术分享图片
技术分享图片
pipeline {
  agent any
  stages {
    stage(重新部署cyl-erp-web) {
      steps(wget) {
        sh rm -rf nginx.yaml
        sh wget  https://hansl.coding.net/p/hansl/d/hantest/git/raw/master/nginx.yaml
        sh cat nginx.yaml
      }
    }
    stage(部署nginx){
      steps(wget) {  
        kubeconfig(caCertificate: ‘‘-----BEGIN CERTIFICATE-----
MIICyDCCAbCgAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl
cm5ldGVzMB4XDTIxMDMyNTAwNTM0NVoXDTMxMDMyMzAwNTM0NVowFTETMBEGA1UE
AxMKa3ViZXJuZXRlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANnz
L2nv5wofXJCeVRVRUFNKkBLEQkBl65ZMpcBmVNiaFSgdJ05E9VWLc7jGQVRMrnmV
QR298eQtQStfnbSF4mH4keXAjLR9d0RrJ1yXsrMwpao5k9r+3h9RbtNwsmPnYKCO
2bHy1dezC6BZgVyuR7F2CNSokklSA7x6ekmcqNvGjjq+XbDbepZyajnz9vRDDoIm
t+oLjSJ9S/VKyIOIXJEf1AkFjkGNPGIl6/GGPzlU8aO3bBQurzbxkO94quizwbjZ
SAGJSp8syp2Zsn58S732wN6S552U9wfF+aBV03LK+NiDD6nWT8hjqPE+QkOyIXcG
fstSkNMmz0vmLrWCP60CAwEAAaMjMCEwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB
/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBACqOHgCn/7crvda1xHk2eoCqUWvK
Tj0ow0tF7+8UZWFmNXW/pHU0kK+rHr1kxPclOVe59+EUpVPPCtEIFMfEXnCXR1eJ
7MggmIq9CbN9MeZ4Eh3YYUA2AXKP5fHulM7VNcFdzcLHqFi4xvLyUWo4yhzDsIbp
pICoUkELotBfFb9RTZim3YbHdSwEOC8Qoma4ilZf7Pc5X8qPhGpkgoF3DT+yeuB8
hHmOdCRTdJm9T39J6Y+I4ylJRoZZAcishmU2n1DBX6pMIL0U7AAErsi/JjmL10It
/DC+0cZw6udNbzhMyEaGndrmhlUgi2pDYf3P9mqwMgpxEfxuOvtoI80dSKM=
-----END CERTIFICATE-----‘‘, credentialsId: hansl-token-7vqrc, serverUrl: https://10.0.254.101:8443) {
    // some block
        sh kubectl apply -f nginx.yaml
        }
      }
    }    
  }
}

 

 
 
 

jenkins+k8s

原文:https://www.cnblogs.com/hanshengli/p/14736257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!