搭建笔记:jenkins+git+docker+k3s+k9s+dashboard+Harbor+prometheus+grafana
spec: #这是关于该Deployment的描述,可以理解为你期待该Deployment在k8s中如何使用。app: nginx #为该Deployment设置key为app,value为nginx的标签。app: nginx #为该Deployment设置key为app,value为nginx的标签。labels: #Pod的标签,上面的selector即选择包含标签app:nginx的Pod
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
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
更多推荐
所有评论(0)