K8s使用Jenkins部署服务


一、安装Jenkinsjava

#准备Java环境
tar xvf  jdk-8u231-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -s jdk1.8.0_231 java

cat  /etc/profile.d/java
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin

source  /etc/profile.d/java
java  -version

image-20200109091629813.png

yum -y install wget
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum --showduplicates list jenkins | expand    #查看须要安装的版本
yum -y install jenkins    #默认安装最新的

vim /etc/sysconfig/jenkins    #根据本身须要修改Jenkins配置文件

启动linux

systemctl  start  jenkins
git

ss -anutlp |grep 8080    #查看是否已经启动
web

二、web界面设置
docker

image-20200108164547200.png

查看管理员密码:
shell

cat  /var/lib/jenkins/secrets/initialAdminPassword
apache

image-20200108164709630.png

image-20200108164821846.png

这里选择推荐插件,根据本身需求选择。
vim

image-20200108184005492.png

安装时间有点长,若是有安装失败的,点击从新安装
centos

image-20200108201346568.png

建立你的管理员帐户,这里我是用admin帐户登陆,若是须要密码和开始cat的密码一致。bash

image-20200108201530291.png


重新设置admin用户的密码。

image-20200108201556722.png

三、安装插件

image-20200108201739175.png

image-20200108201905202.png

须要下载的插件有:docker-build-step,docker,Maven Integration

四、配置环境

4.1安装git

yum  -y  install  git

4.2安装maven

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar xvf apache-maven-3.6.3-bin.tar.gz  -C  /usr/local
ln -s apache-maven-3.6.3 maven

cat  /etc/profile.d/maven
export MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH

source  /etc/profile.d/maven
mvn  --version

image-20200109092023584.png

4.3安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install -y docker-ce-18.06.1.ce-3.el7
systemctl start docker
systemctl status docker

4.4备注:这里我使用的是公司私服,须要配置setting文件,个人setting文件放在/opt/下

image-20200109093436907.png

五、配置全局环境

5.1配置docker

image-20200109094545424.pngimage-20200109094729157.png

拉到最下面选择建立一个云,设置名称,还有url

image-20200109094915957.png

5.2配置maven,jdk,git

image-20200109095046683.png

image-20200109095202002.png

image-20200109095231170.png

image-20200109095305156.png

配置完成后保存!

六、配置项目

选择构建maven项目

image-20200109093621878.png

选择git

image-20200109094015268.png

这里须要建立一个远程克隆代码的用户,这个用户必须存在你的gitlab代码用户组中,并且有clone代码的权限

image-20200109094207003.png

image-20200109094301643.png

而后选择刚才建立的用户便可,生产环境没有配置自动构建,须要的自行配置

image-20200109094416853.png

image-20200109095652155.png

image-20200109095956958.png

Dckerfile文件

FROM registry.hello.com/jdk:1.8_232    #这里是我私仓本身的jdk镜像
ADD ./target/app.jar  app.jar
CMD  ["java  -jar app.jar  -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"]

image-20200109100635066.png

#完整的命令,根据本身环境修改,制做示例,具体可查看kebectl  set  image命令的使用

ssh root@192.16.6.89 "kubectl set image deployment/hello hello=registry.cn-hangzhou.aliyuncs.com/helloworld/hello:${BUILD_NUMBER} -n master"

说明:这里是Jenkins用户去执行命令,会报错Host key verification failed,须要使用Jenkins用户建立密钥

解决办法:

    在安装jenkins后,系统生成了jenkins这个普通用户,可是在/etc/passwd中,他的shell是/bin/false,因此他不能登陆系统,也没有家目录;首先咱们修改他的登陆权限,将/bin/false改成/bin/bash,切换到jenkins用户,su

- jenkins,他的终端显示为-bash-4.2$

jenkins:x:997:995:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

生成jenkins用户密钥对

[root@bogon .ssh]# su - jenkins
-bash-4.2$ ssh-keygen -t rsa
回车

-bash-4.2$ ssh-copy-id -i /var/lib/jenkins/.ssh/id_rsa.pub root@192.168.75.12<k8s集群master节点的ip>

使用sudo提高普通用户权限

用viduso去修改文件,命令和命令之间要用逗号,最后用visudo -c检查语法是否出错.

visudo
root    ALL=(ALL)       ALL  # 原有的
jenkins ALL=(ALL)       NOPASSWD:/usr/bin/ssh,/usr/bin/rsync # 新增的

最后就可以在jenkins中使用command命令执行了

构建成功后

image-20200109101124234.png

相关文章
相关标签/搜索