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

相關文章
相關標籤/搜索