- 博客(39)
- 收藏
- 关注
原创 harborv2.5仓库镜像清理脚本
1、脚本通过python调用api接口去删除镜像的,适用于harbor2.0的api接口,只保留镜像的最近的5个tag版本。2、在harbor仓库里面系统管理-垃圾清理配置下定时清理规则。
2023-03-31 10:55:09
858
原创 telnet批量检查端口是否正常
脚本是由os的库popen方法抓到关键字段判断是否是连通,由于telnet这个命令他交互式的,python调用会卡主很久,这个问题是telnet命令未退出导致,有2种方法:1、这种方法只限于端口开放或未开放echo "" | telnet ${ip} ${port}2、当上面的方法出现time out时候,也会卡主很久等待超时,此时加了timeout命令超时就kill进程# timout_second:超时时间,秒# host: 域名# port: 端口echo -e '\x1dc
2022-04-22 17:21:00
2991
原创 python微服务启动脚本
#!/usr/bin/env python3import osimport sys, subprocessimport timeclass Startup(object): def __init__(self, ServerName, Pid): self.ServerName = ServerName self.Pid = Pid def start(self, cmd): pid = subprocess.getstatus.
2022-04-20 14:42:52
607
原创 将Jenkinsfile 与项目分离(统一管理jenkinsfile)
1、安装插件:pipeline-multibranch-defaults(多分支流水线)2、将jenkinsfile统一放到git目录去管理:(项目名和job名要一致)#例:--项目名称1 -分支1 -Jenkinsfile -分支2 -Jenkinsfile--app_server -master -Jenkinsfile -dev -Jenkinsfile# 备注:Jenkinsfile中就
2022-03-21 10:03:53
1703
原创 pipeline共享库微服务流水线模板
共享库搭建使用请参考搭建jenkins共享库使用Jenkins Shared Library_coke-520的博客-CSDN博客_jenkins共享库流水线脚本发布方式采用的ssh远程命令方式pipeline模板脚本如下:#!/usr/bin/env groovydef call(String type, Map config) { if (type == "sit") { pipeline { agent any .
2022-03-21 09:14:36
759
原创 jenkins部署微服务发布脚本(python)
jenkins远程发布java服务部署脚本#!/usr/bin/env python3# coding=utf-8import paramiko, os, timedef run_cmd(ssh_client, cmd): print("执行命令: " + cmd) stdin, stdout, stderr = ssh_client.exec_command(cmd) error_msg = stderr.read().decode('utf8') res.
2022-03-21 09:04:38
491
原创 python脚本批量上传mvn私服
为完善公司对于运维的devops化脚本是点jira流程钩子自动触发jenkins的job来执行python脚本来完成自动上传!也可以改成本地批量上传!代码如下:#!/usr/bin/env python3# coding=utf-8import osfrom jira import JIRAimport requests, paramiko'''脚本是坐标文件内容和需要上传的文件对应一致'''#下载jira流程里需要上传的附件jar或者pomdef download()
2022-01-14 10:33:46
619
原创 python脚本实现jenkins批量构建多分支job发布
随着微服务项目越来越多,每一次上线发布很多个构建job要手动构建很费时费力,所以能自动咱就不手动。脚本环境基于python3,需要安装的模块是python-jenkins这个api库来说实现!关于api库使用请参考官方文档:API reference — Python Jenkins 1.1.1.dev1 documentation脚本是通过遍历文本里的构建job名称和构建参数来实现批量构建,把构建完成的信息结果是保存输出到output.log文件里。import osimport time
2021-12-09 14:25:28
1058
原创 python-gitlab实现jira流程自动化建仓并创建组加入
jira中issue状态的改变触发Jenkins构建配置请参考:脚本是基于python3环境,需pip安装python-gitlab,jira库脚本比较简单,实现:获取jira流程里面仓库名字段,组字段,组成员信息字段,通过gitlab的api创建仓库,创建组,并把组成员加入到组里,项目加入到组里。请上代码:#!/usr/bin/env pythonfrom jira import JIRAimport gitlab, os#登录gitlabdef login_gitlab(url
2021-12-08 09:06:05
709
原创 python脚本批量创建job并自动添加视图
由于我们项目jenkinsfile和deployment.yaml都是单独分开放在git仓库上管理的,脚本实现的是通过批量创建对应的文件和job任务自动提交git仓库,并把job加入到视图里!话不多说贴脚本:import osimport reimport shutilimport jenkinsfrom colorama import init, Fore, Styleinit(autoreset=True)'''脚本基于python3,windows环境,linux环境使用将路
2021-11-22 09:33:20
1682
原创 搭建jenkins共享库使用Jenkins Shared Library
参考Jenkins Shared Library(解决多个项目使用同一jenkinsfile问题)_熊吉呜哈哈-CSDN博客
2021-11-22 09:04:29
1336
原创 python学习(paramiko远程操作主机)
import time,paramiko,osdef run_cmd(ssh_client,cmd): print("执行命令: " + cmd) stdin, stdout, stderr = ssh_client.exec_command(cmd) error_msg = stderr.read().decode('utf8') result = stdout.read().decode('utf8') if not error_msg: p.
2021-11-01 11:23:15
252
原创 python学习(猜数字游戏)
import randomx = int(random.randint(0,10))i = 1print('''欢迎进入猜数字小游戏!本次游戏机会只有三次!小伙伴拼手气的机会到了哟!''')while i <= 3: n = int(input("请输入0-10的整数:")) if n == x: print("当前数为:%d 恭喜你猜对了!" % n) break elif n > x: print("猜.
2021-11-01 10:50:15
1948
原创 监控cpu内存磁盘脚本
#!/bin/bashset -eLogDir=/data/monitor/lognow_date=`date "+%Y-%m-%d %H:%M:%S"`run_env(){#声明日志目录和需要监控的阀值#CPU占用率,内存占用率,系统平均负载(根据系统cpu核数),硬盘空间PoleCpu=90PoleMem=90PoleLod=2PoleDsk=90PolePid=`cat /proc/sys/kernel/pid_max`#取系统相应的变量值DATE=$(date +%Y.
2021-07-28 15:08:32
322
原创 mysql5.7.34二进制包安装
一、下载解压二进制包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.34-el7-x86_64.tar.gztar xzvf mysql-5.7.34-el7-x86_64.tar.gz -C /data/二、 创建用户并给权限mv /data/mysql-5.7.34-el7-x86_64 /data/mysql-5.7.34 #修改目录名cd /data/mysql-5.7.34/ ...
2021-07-16 10:59:49
498
原创 kubectl日常命令
查看类命令: # 获取节点和服务版本信息 kubectl get nodes # 获取节点和服务版本信息,并查看附加信息 kubectl get nodes -o wide # 获取pod信息,默认是default名称空间 kubectl get pod # 获取pod信息,默认是default名称空间,并查看附加信息【如:pod的IP及在哪个节点运行】 kubectl get pod -o wide # 获取指定名称空间的...
2021-05-24 15:50:20
312
原创 docker安装jenkins+gitlab
一、安装jenkinsdocker search jenkins可以搜索docker官方仓库的镜像然后从docker仓库中下载镜像docker pull jenkinsci/blueocean创建jenkins工作挂载目录mkdir /var/jenkins_home -pchown -R 1000:1000 /var/jenkins_home执行如下命令创建启动jenkins容器docker run -d --name jenkins -p 8080:8080 -p
2021-05-13 14:30:28
468
原创 docker-compose安装harbor私有仓库
一、概述 harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而docker的由来正是借鉴了集装箱的原理,所以harbor是用于存放docker的镜像,作为镜像仓库使用。官方的说法是:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。 harbor镜像仓库是由VMware开源的一款企业级镜像仓库,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制等诸多功能。二、harbor安装部署1.安装Docker、Doc
2021-05-11 15:07:03
530
原创 脚本一键安装k8s集群
使用kubeadm-ha脚本一键安装K8S前情提示以前安装k8s集群的时候使用的是k8s官网的教程 使用的镜像源都是国外的 速度慢就不说了 还有一些根本就下载不动 导致安装失败 最后在群里小伙伴(蘑菇博客交流群/@你钉钉响了)的建议下使用一个开源的一键安装k8s的脚本就好了起来了 Github地址:https://github.com/TimeBye/kubeadm-ha环境准备官网的安装说明也很简单但是还有些细节还是没有提到 所以我自己照着官网的教程 补充了一些细节硬件系统要求Ma
2021-04-30 17:41:15
1044
2
原创 haproxy+keepalived搭建高可用k8s集群
高可用集群技术细节高可用集群技术细节如下所示:keepalived:配置虚拟ip,检查节点的状态 haproxy:负载均衡服务【类似于nginx】 apiserver: controller: manager: scheduler:高可用集群步骤我们采用2个master节点,一个node节点来搭建高可用集群(机器资源有限)| 角色 | IP | 安装步骤...
2021-04-28 16:07:16
2452
原创 k8s安装监控插件metric-server支持top
简单介绍:从 Kubernetes 1.8 开始,资源使用指标(如容器 CPU 和内存使用率)通过 Metrics API 在 Kubernetes 中获取, metrics-server 替代了heapster。Metrics Server 实现了Resource Metrics API,Metrics Server是集群范围资源使用数据的聚合器。Metrics Server 从每个节点上的 Kubelet 公开的 Summary API 中采集指标信息。kubernetes metrics..
2021-04-25 13:12:33
370
原创 k8s监控prometheus+Grafana
Kubernetes集群资源监控概述监控指标一个好的系统,主要监控以下内容集群监控 节点资源利用率 节点数 运行Pods Pod监控 容器指标 应用程序【程序占用多少CPU、内存】 监控平台使用普罗米修斯【prometheus】 + Grafana 搭建监控平台 prometheus【定时搜索被监控服务的状态】 开源的 监控、报警、数据库 以HTTP协议周期性抓取被监控组件状态 不需要复杂的集成过程,使用http接口接入即可 Gr
2021-04-25 10:08:31
2220
5
原创 k8s持久化存储pv和pvc
Kubernetes持久化存储前言之前我们有提到数据卷:emptydir,是本地存储,pod重启,数据就不存在了,需要对数据持久化存储对于数据持久化存储【pod重启,数据还存在】,有两种方式nfs:网络存储【通过一台服务器来存储】步骤持久化服务器上操作找一台新的服务器nfs服务端,安装nfs 设置挂载路径使用命令安装nfsyum install -y nfs-utils首先创建存放数据的目录mkdir -p /data/nfs设置挂载路径# 打开文件.
2021-04-23 14:08:07
237
原创 k8s中configmap挂载配置nginx.conf
ConfigMapConfigMap作用是存储不加密的数据到etcd中,让Pod以变量或数据卷Volume挂载到容器中应用场景:配置文件创建配置文件首先我们需要创建一个配置文件nginx.confuser nginx; worker_processes auto; worker_cpu_affinity 00000001 00000010 00000100 00001000; error_log /var/log/nginx/e.
2021-04-22 10:58:32
8644
7
原创 kubeadm部署k8s集群
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:```# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 >```## 1. 安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:- 一台或多台机器,操作系统 CentOS7.x-86_x64.
2021-04-21 10:22:54
235
原创 k8s核心技术Helm
Kubernetes核心技术HelmHelm就是一个包管理工具【类似于npm】为什么引入Helm首先在原来项目中都是基于yaml文件来进行部署发布的,而目前项目大部分微服务化或者模块化,会分成很多个组件来部署,每个组件可能对应一个deployment.yaml,一个service.yaml,一个Ingress.yaml还可能存在各种依赖关系,这样一个项目如果有5个组件,很可能就有15个不同的yaml文件,这些yaml分散存放,如果某天进行项目恢复的话,很难知道部署顺序,依赖关系等,而所有这些
2021-04-21 10:17:30
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人