k8s部署jar包_学习K8S之路.6--- 在K8S中部署Jenkins,并使用Jenkins打包jar包

一:部署jenkins

jenkins官网:https://jenkins.io/download/

jenkins镜像:https://hub.docker.com/r/jenkins/jenkins

1:在运维主机(192.168.6.96)上下载官网稳定版镜像

[root@k8s-6-96 ~]# docker pull jenkins/jenkins:2.190.3[root@k8s-6-96 ~]# docker images |grep jenkins

jenkins/jenkins 2.190.3 22b8b9a84dbe 6months ago 568MB

[root@k8s-6-96 ~]# docker tag 22b8b9a84dbe harbor.auth.com/public/jenkins:v2.190.3[root@k8s-6-96 ~]# docker push harbor.auth.com/public/jenkins:v2.190.3

2:制作自定义镜像

2.1:生成ssh秘钥对,用于拉取git私有仓库代码,需要使用ssh密钥

[root@k8s-6-96 ~]# ssh-keygen -t rsa -b 2048 -C "117586xxx@qq.com" -N "" -f /root/.ssh/id_rsa

// 执行完成会在/root/.ssh/ 目录下生成一对密钥

2.2:准备get-docker.sh文件,用于在jenkins容器中使用docker客户端,执行 build

[root@k8s-6-96 ~]# curl -fsSL get.docker.com -o get-docker.sh

[root@k8s-6-96 ~]# chmod +x get-docker.sh

2.3:准备config.json文件,用于把docker镜像push到镜像仓库

[root@k8s-6-96 ~]# cat /root/.docker/config.json

{

"auths": {

"harbor.od.com": {

"auth": "YWRtaW46SGFyYm9yMTIzNDU="}

},

"HttpHeaders": {

"User-Agent": "Docker-Client/19.03.4 (linux)"}

2.4:创建目录并准备Dockerfile

[root@k8s-6-96 ~]# cd /data/dockerfile/[root@k8s-6-96dockerfile]# mkdir jenkins

[root@k8s-6-96dockerfile]# cd jenkins

[root@k8s-6-96jenkins]# vi Dockerfile

FROM harbor.od.com/public/jenkins:v2.190.3USER 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

ADD get-docker.sh /get-docker.sh

RUN echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config &&\

/get-docker.sh --mirror=Aliyun

这个Dockerfile里我们主要做了以下几件事:

设置容器用户为root

设置容器内的时区

将创建的ssh私钥加入(使用git拉代码是要用,配对的公钥配置在gitlab中)

加入了登陆自建harbor仓库的config文件

修改了ssh客户端的配置,不做指纹验证

安装一个docker的客户端

2.5:制作自定义镜像

//准备所需文件,拷贝至/data/dockerfile/jenkins

[root@k8s-6-96 ~]# cd /data/dockerfile/jenkins

[root@k8s-6-96 jenkins]# cp /root/.ssh/id_rsa .

[root@k8s-6-96 jenkins]# cp /root/.docker/config.json .

[root@k8s-6-96 jenkins]# cp /root/get-docker.sh .

// 查看目录下的文件

[root@k8s-6-96jenkins]# ll

total 32

-rw------- 1 root root 151 Nov 30 18:35config.json

-rw-r--r-- 1 root root 349 Nov 30 18:31Dockerfile

-rwxr-xr-x 1 root root 13216 Nov 30 18:31 get-docker.sh

-rw------- 1 root root 1675 Nov 30 18:35id_rsa

//执行build

[root@k8s-6-96 jenkins]# docker build . -t harbor.auth.com/infra/jenkins:v2.190.3

// 查看镜像

[root@k8s-6-96 jenkins]# docker images | grep jenkins

2.6:在harbor中创建infra仓库,并设置为私有

2.7:在任意运算节点上创建kubernetes名称空间并在此创建secret

[root@k8s-6-94 ~]# kubectl create namespaceinfra

[root@k8s-6-94 ~]# kubectl create secret docker-registry harbor --docker-server=harbor.auth.com --docker-username=admin --docker-password=Harbor12345 -n infra

2.8:在运维主机上推送镜像

[root@k8s-6-96 jenkins]# docker push harbor.auth.com/infra/jenkins:v2.190.3

3:准备共享存储,原因是:jenkins中数据需要进行持久化存储,使用nfs共享存储方式

3.1:需要在运维主机(192.168.6.96)上 和 运算节点(192.168.6.94,192.168.6.95)上安装nfs

注意:运算节点只需要安装nfs引擎,不需要做任何配置

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值