1、搭建jenkins

非docker安装

nohup java -jar jenkins.war --httpPort=9095 >jenkins.log 2>&1 &

docker 安装:

#创建文件夹

mkdir -p /home/jenkins_home

#权限

chmod 777 /home/jenkins_home

#centos需要处理一下

chcon -Rt svirt_sandbox_file_t /home/jenkins_home

#下载

docker pull jenkins/jenkins:2.344

#启动

docker run -d -uroot -p 9095:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime 635634d93800

注:假如用docker安装默认没有py环境,还要重新打包docker镜像,会影响自动化测试脚本运行

2、idea关联gitee

略...

3、jenkins配置jdk、maven

系统管理-configure system

JAVA_HOME=/usr/local/java/jdk-11.0.17

MAVEN_HOME=/usr/local/maven-3.9.3

PATH+EXTRA=$MAVEN_HOME/bin

4、jenkins关联gitee

安装gitee插件

系统管理-configure system-Gitee 链接

添加地址:https://gitee.com/caitao123/testdemo

添加口令

5、gitee 关联钉钉

钉钉增加机器人

gitee配置WebHooks 指向钉钉机器人-webhook密码,配置Push事件

6、.验证流程

idea push=》钉钉提醒=》触发Jenkins=》下拉代码=》编译发布

7、安装docker

yum install docker

8、编写dockerfile

FROM openjdk:8-jdk-alpine

ADD ./demo-0.0.1-SNAPSHOT.jar /app.jar

ENTRYPOINT ["java","-jar","app.jar"]

9、安装k3s(在线)

1.master执行

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="--advertise-address 192.168.1.237" sh -

2.chmod 755 /etc/rancher/k3s/k3s.yaml

3.获取master-token

sudo cat /var/lib/rancher/k3s/server/node-token

4.worker节点运行

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.1.237:6443 K3S_TOKEN=K10793c7613cc87254e270267ce677bda9671ea10970d9b1a913c10a8c942354a97::server:063587a592abcc8090105c2c39b0ffb1 INSTALL_K3S_EXEC="--node-ip 192.168.1.238" sh -

注:离线安装Releases · k3s-io/k3s · GitHub 下载依赖包、二进制文件、安装脚本

10、安装k9s(在线)

1.curl -sS K9s | webinstall.dev | bash

2.安装完成能看到安装目录.local/bin/或/root/.local/bin/

3.切换到目录 运行k9s

11、安装k3s-dashboard

docker run -itd --restart=unless-stopped -p 8080:8080 cnrancher/autok3s:v0.5.2

docker run -d --restart=unless-stopped --name=kuboard -p 8088:80/tcp -p 10081:10081/tcp -e KUBOARD_ENDPOINT="http://192.168.1.237:8088" -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" -v /root/kuboard-data:/data eipwork/kuboard:v3

访问地址:http://192.168.1.237:8088

用户名:admin 密码:Kuboard123

12、测试k3s

nginx-deployment.yml

apiVersion: apps/v1 #与k8s集群版本有关,使用 kubectl api-versions 即可查看当前集群支持的版本

kind: Deployment #该配置的类型,我们使用的是 Deployment

metadata: #译名为元数据,即 Deployment 的一些基本属性和信息

name: nginx-deployment #Deployment 的名称

labels: #标签,可以灵活定位一个或多个资源,其中key和value均可自定义,可以定义多组,目前不需要理解

app: nginx #为该Deployment设置key为app,value为nginx的标签

spec: #这是关于该Deployment的描述,可以理解为你期待该Deployment在k8s中如何使用

replicas: 3 #使用该Deployment创建一个应用程序实例

selector: #标签选择器,与上面的标签共同作用,目前不需要理解

matchLabels: #选择包含标签app:nginx的资源

app: nginx

template: #这是选择或创建的Pod的模板

metadata: #Pod的元数据

labels: #Pod的标签,上面的selector即选择包含标签app:nginx的Pod

app: nginx

spec: #期望Pod实现的功能(即在pod中部署)

containers: #生成container,与docker中的container是同一种

- name: nginx #container的名称

image: nginx:alpine #使用镜像nginx创建container,

ports:

- containerPort: 80 #内部服务暴露的端口

nginx-service.yml

apiVersion: v1

kind: Service #该配置的类型,我们使用的是 Service 服务类型

metadata:

name: nginx-service #该服务类型的名称

spec:

selector: #选中的app部署实例

app: nginx #为该Deployment设置key为app,value为nginx的标签

ports: #暴露的端口

- protocol: TCP # 走得tcp 协议

port: 80 #默认端口

targetPort: 80 #内建服务端口

nodePort: 30080 #对外服务端口

type: NodePort

kubectl create -f nginx-deployment.yml -f nginx-service.yml

访问http://192.168.0.131:30080

13、安装本地镜像仓库

master:

docker pull docker.io/registry

docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry

vim /etc/docker/daemon.json

{

"insecure-registries":[masterip:5000"]

}

systemctl daemon-reload

systemctl restart docker

docker start registry

node1:

vim /etc/docker/daemon.json

{

"insecure-registries":[masterip:5000"]

}

systemctl daemon-reload

systemctl restart docker

docker start registry

14、测试仓库配置

配置tag

docker tag docker_demo28 192.168.1.237:5000/dock_demo28:v1

查看

docker images

A机器上传

docker push 192.168.1.237:5000/dock_demo28:v1

B机器下载

docker pull 192.168.1.237:5000/dock_demo28

15、编排文件关联镜像仓库

目前编排文件格式有问题,没有和镜像仓库关联,启动总是提示拉取不到镜像

16、安装prometheus

docker run -itd --name prometheus -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v /opt/prometheus/rules/:/etc/prometheus/rules/ -v /etc/localtime:/etc/localtime:ro prom/prometheus

17、安装prometheus-node-exporter

docker run -d --name node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

18、安装grafana

docker run -itd --name grafana -p 3000:3000 -v "/etc/localtime:/etc/localtime" -e "GF_SERVER_ROOT_URL=http://grafana.server.name" -e "GF_SECURITY_ADMIN_PASSWORD=oedate" --net=bridge a5c3d64d865cgrafana/grafana

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐