自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(372)
  • 收藏
  • 关注

原创 windows 镜像下载地址

HelloWindows.cn - 精校 完整 极致 Windows系统下载仓储站

2023-12-11 23:39:50 446

原创 夜莺接入飞书告警保姆教程

夜莺接入飞书告警保姆教程

2022-10-25 20:30:39 1057 1

原创 go 定时任务脚本

package mainimport ( "bytes" "fmt" "os/exec" "time")const ( Nanosecond = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hour = 60 * Minute)func Server.

2022-05-18 11:23:35 551 1

原创 日志清理脚本,升级版

[root@ip-10-172-10-35 ~]# cat /usr/local/shell/iop-ps-data-rm.sh#!/bin/bash#获取15天之前的日期del_date=`date +%Y%m%d -d "15 days ago"`#获取30天之前的日期del_dates=`date +%Y%m%d -d "30 days ago"`path=/efs/iop-psFILE_date=`ls -l --time-style=full-iso | awk '{print.

2022-05-17 15:31:06 303

原创 aws 硬盘xfs 格式扩容

[root@ip-10-171-1-80 ec2-user]# growpart /dev/nvme0n1 1CHANGED: partition=1 start=4096 old: size=209711071 end=209715167 new: size=314568671 end=314572767[root@ip-10-171-1-80 ec2-user]# xfs_growfs /dev/nvme0n1p1meta-data=/dev/nvme0n1p1 isize=.

2022-05-12 17:56:35 383

原创 15天之前的日志文件删除

[ec2-user@ip-10-172-10-35 iop-ps]$ cat iop-ps_rm_log.sh#!/bin/bash#15天之前的日志文件删除#获取15天之前的日期del_date=`date +%Y%m%d -d "15 days ago"`FILE_date=`ls -l --time-style=full-iso | awk '{print $6}' | sed 's#-##g'`FILE_PATH=/efs/iop-psfor i in `ls ${FILE_PAT.

2022-05-05 18:41:36 746

原创 go 脚本实现文件对比

package mainimport ( "bytes" "encoding/json" "fmt" "log" "os" "os/exec" "strings")func init() { file := "./" + "log" + ".txt" logFile, err := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766) if err != nil { panic(err) } log.S.

2022-04-27 20:55:07 399

原创 记录jenkins 插件升级导致Pipeline 项目无法显示

1.旧版本长时间没有升级,插件升级建议先做备份快照查看当前java版本[root@ip-10-171-1-80 plugins]# java -versionjava version "1.8.0_181"Java(TM) SE Runtime Environment (build 1.8.0_181-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)查看可更新版本[root@ip-10-171.

2022-04-26 17:12:13 2099

原创 shell 每日更新配置文件

由于每日新增日志太大,导致读取慢的问题,日志删除不能操作,所以采用这种只读当天日志玩法[root@ip-10-172-10-35 shell]# cat Modify_loki_config_time.sh#!/bin/bashDate=$(date "+%Y%m%d")#echo $Datecat /app/loki/conf/promtail-local-config.yaml | grep "_path_" | awk -F - '{print $9}' | awk -F "*" '{

2022-04-26 10:19:54 1421

原创 shell脚本告警

[root@mysql-m-201 ~]# cat feishu.py #!/usr/bin/python3import requestsimport jsonimport sysimport osimport datetimefrom datetime import datetime# 你复制的webhook地址粘贴进url内url = "https://open.feishu.cn/open-apis/bot/v2/hook/530dffcf-09e9-48ae-9748-7ffcc.

2022-04-24 15:03:09 1028

原创 nacos 集群部署

mysql表结构导入:https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql[ec2-user@ip-10-174-2-215 nacos]$ cat nacos-no-pvc-ingress.yaml###使用rds数据库;使用Ingress发布配置后台###---apiVersion: v1kind: Servicemetadata: name: nacos-headless

2022-04-21 19:25:11 1148

原创 k8s kubeadm 部署证书续期

k8s 证书分为2套,一套是apiserver 和etcd管理节点:如果是kubeadm 部署则自动生成,二进制一般由cfssl 或者openssl工作节点: 工作节点主要指kubelet 连接apiserver 所需的客户端证书,这个证书是由controller-manager组件自动颁发,默认是一年,如果到期,kubelet 将无法使用过期的证书连接apiserver,日志将会报错 (x509:certificate has expired or is not yet valid)红线:

2022-02-03 22:12:04 3754 3

原创 Kubernetes 审计日志

启用审计日志功能:参考文档审计 | Kubernetesvi /etc/kubernetes/manifests/kube-apiserver.yaml… - --audit-policy-file=/etc/kubernetes/audit/audit-policy.yaml- --audit-log-path=/var/log/k8s_audit.log- --audit-log-maxage=30- --audit-log-maxbackup=10- --audit-lo

2022-01-22 22:44:38 1991

原创 OPA 鉴权

Gatekeeper 是基于 OPA的一个 Kubernetes 策略解决方案,可替代PSP或者部分RBAC功能。 当在集群中部署了Gatekeeper组件,APIServer所有的创建、更新或者删除操作都会触发 Gatekeeper来处理,如果不满足策略则拒绝OPA(Open Policy Agent):是一个开源的、通用策略引擎,可以将策略编写为代码。提供 一个种高级声明性语言-Rego来编写策略,并把决策这一步骤从复杂的业务逻辑中解耦出来。 OPA可以用来做什么? • 拒

2022-01-22 22:30:25 2039

原创 镜像漏洞扫描工具

Trivy:是一种用于容器镜像、文件系统、Git仓库的漏洞扫描工具。发现目标软件存在的漏洞。 Trivy易于使用,只需安装二进制文件即可进行扫描,方便集成CI系统。 项目地址:https://github.com/aquasecurity/trivy镜像扫描trivy image -s HIGH, CRITICAL nginx# JSON格式输出并保存到文件trivy image nginx -f json -o /root/output.jsonkubesec:是一个针对K

2022-01-22 22:20:43 4615

原创 准入控制器: Admission Webhook

Admission Webhook:准入控制器Webhook是准入控制插件的一种,用于拦截所有向APISERVER发送的 请求,并且可以修改请求或拒绝请求。 Admission webhook为开发者提供了非常灵活的插件模式,在kubernetes资源持久化之前,管理员通过程序 可以对指定资源做校验、修改等操作。例如为资源自动打标签、pod设置默认SA,自动注入sidecar容器等。 相关Webhook准入控制器: • MutatingAdmissionWebhook:修改资源,理论上可

2022-01-22 22:16:30 1350

原创 rbac 解析

rbac 基于角色的访问控制主体(subject)user: 用户Group: 用户组serviceaccount: 服务账号kubectl create sa psp-denial-sa -n staging角色:role: 授权特定命名空间的访问权限kubectl create role role-2 -n db --verb=delete --resource=namespacesclusterrole: 授权所有的命名空间访问权限kubectl c.

2022-01-22 20:34:19 3818

原创 gVisor与Containerd集成

gVisor内核要求:Linux 3.17+,如果用的是CentOS7则需要升级内核,Ubuntu不需要。rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpmyum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml

2022-01-15 12:39:57 474

原创 redis 迁移工具迁移

[root@k8s-master ~]# cat go.sh #!/bin/bashwget https://dl.google.com/go/go1.17.5.linux-amd64.tar.gztar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gzsed -i '$a export PATH=$PATH:/usr/local/go/bin ' /etc/profilesed -i '$a export GOPROXY=https://gopro.

2021-12-22 20:45:14 552

原创 k8s 指定节点调度标签

nodeSelector 强制匹配指定pod 调度到标签 ssd[root@k8s-master cka3]# cat ssd.yaml apiVersion: v1kind: Podmetadata: name: nginx-kusc00401spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent nodeSelector: disktype: s..

2021-12-15 20:42:31 4421

原创 RBAC 授权

1 上传文件[root@k8s-master rbc]# lsrbac.zip[root@k8s-master rbc]# unzip rbac.zip Archive: rbac.zip creating: rbac/ inflating: rbac/cert.sh inflating: rbac/kubeconfig.sh inflating: rbac/rbac.yaml [root@k8s-master rbc]#.

2021-12-07 23:54:54 603

原创 nginx-ingress ingress-controller 安装

https://github.com/kubernetes/ingress-nginx[root@k8s-master ~]# cat ingress-controller-0.49.yaml | grep image: image: lizhenliang/ingress-nginx-controller:v0.49.0 image: docker.io/jettech/kube-webhook-certg...

2021-11-24 09:28:28 2142 2

原创 测试dns

[root@VM-2-29-centos ~]# cat 114test.sh#!/bin/bashfor ((i = 1 ;i<=100000;i++))do curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" "https://www.baidu.com" >> 114log.t...

2021-11-03 14:53:50 432

原创 k8s电商环境搭建

mkdir -p /web/{html,data} yum -y install nfs-utils rpcbind #安装 nfs[root@client_15_k8s_clould ~]# cat /etc/exports/web/html *(rw,no_root_squash)/web/data *(rw,no_root_squash)/ifs/kubernetes/jenkins *(rw,no_root_squash)systemctl enable nfs ..

2021-10-22 17:36:03 768

原创 git 代码推送

git config --global user.name "root"git config --global user.email "[email protected]"git initgit remote add origin http://172.16.2.3/gitlab-instance-f89a1a19/Monitoring.gitgit add .git commit -m "Initial commit"git push -u origin master

2021-10-12 11:41:47 62

原创 chart 制作打包

habor 安装插件./install.sh --with-chartmuseum添加本地仓库helm repo add --username admin --password Harbor12345 myrepo http://172.16.2.15:5000/chartrepo/libraryhelm create java_demo[root@client_15_k8s_clould chart]# helm package java_demo/Successfully p.

2021-10-09 20:18:32 591

原创 rancher k8s jekins 安装1

yum -y install nfs-utilsmkdir -p /ifs/kubernetes/jenkins[root@client_15_k8s_clould updates]# cat /etc/exports/web/html *(rw,no_root_squash)/web/data *(rw,no_root_squash)/ifs/kubernetes/jenkins *(rw,no_root_squash)systemctl restart nfs &&.

2021-10-09 19:49:03 99

原创 gitlab 安装

[root@VM-2-3-centos ~]# cat /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce]name=Gitlab CE Repositorybaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1yum repolistyum install gitlab-ce git -yvim /etc/gi.

2021-10-08 19:46:38 75

原创 showdoc 企业内部文档搭建

[root@client_15_k8s_clould ~]# mkdir -p /data/showdoc_data/html/[root@client_15_k8s_clould ~]# chmod -R 777 /data/showdoc_data[root@client_15_k8s_clould ~]# docker run -d --name showdoc --user=root --privileged=true -p 9999:80 -v /data/showdoc_data/ht.

2021-09-29 15:11:02 128

原创 docker harbor镜像漏洞扫描

通常情况下这个插件需要手动开启./prepare --with-clair需要重启服务:[root@client_15_k8s_clould harbor]# docker-compose -f docker-compose.yml up -dCreating network "harbor_harbor-clair" with the default driverWARNING: Found orphan containers (chartmuseum) for this pr...

2021-09-28 19:51:39 652

原创 TKE 托管安装helm 取消 helm 告警

选择一个同网段的服务器,安装kubectl ,开启内网访问cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirro.

2021-09-28 11:25:48 187

原创 linux mtr 检查网络的连通性

[root@VM-2-5-centos ~]# mtr -r -c 10 172.16.2.15Start: Sun Sep 26 16:18:27 2021HOST: VM-2-5-centos Loss% Snt Last Avg Best Wrst StDev 1.|-- t3 0.0% 10 0.2 0.2 0.2 0.2 0.0mtr -r 已报告模式显示m.

2021-09-26 16:21:56 149

原创 使用rancher 搭建k8s

实验环境:服务器3台 centos 7.9172.16.2.15 harbor 服务器,rancher server172.16.2.29 master1,etcd,wor172.16.2.42 master2初始化服务器:172.16.2.15 运行 docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher在另外节点运行...

2021-09-24 15:35:18 325

原创 容器运行时

现在主流的容器运行时:docker containerd podmandocker 镜像和containerd 镜像通用,但是组织方式和存放目录不同,导致docker 和 ctr 命令不通用,各自管理自己的镜像容器,此外k8s还有客户端命令crictl ,用法和docker基本相同containerd 安装与配置(这个其实很少单独拿来使用,一般作为k8s 容器运行时使用,所以命令啥的麻烦不用记住,单独使用还是用docker,)yum -y install containerd.io...

2021-09-18 10:07:52 1147

原创 k8s 移除node 全过程

可以看到node3上有 5个pod[root@VM-2-5-centos ~]# kubectl get pod -A -owideNAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESkube-system calico-kube.

2021-09-16 16:38:58 1250

原创 运维常被问的访问量

吞吐量:在单位时间处理的请求数吞吐量=总请求数 / 处理这些请求完成的时间QPS:每秒请求的事物处理数量QPS = 总请求数 / 秒问:网站QPS 100 , 日pv 多少?答: 1亿+ 用户量:10万左右QPS 60-70左右,几千万的pvQPS 1 ,日pv 百万(小) 用户 1万左右...

2021-09-14 19:10:12 544

原创 k8s HPA

首先介绍一下node 级别的缩容,在执行缩容的时候该注意啥:不能直接删除node,直接删除会导致流量丢失1,获取节点node 列表kubectl get node2,设置不可调度kubectl cordon node_name3,驱逐节点上的podkubectl drain node_name --ignore-deamonsets4,移除节点kubectl delete node node_nameHorizontal Pod Autoscaler(H...

2021-09-14 18:06:40 299

原创 k8s pod 优雅的删除

如果有10个副本,现在业务没那么繁忙,低于我负载的50%了,开始缩容,缩容的过程中,肯定也有业务和请求在这些被缩容的pod上,那现在缩容就可能导致我线上出现问题,调用被强制终止,接口会产生一些404,网关502的问题还有滚动更新的时候,发布新的版本,老的pod会终止,新的pod 产生,如果在这个过程中,老pod有一个很长的操作,如数据库的,或者定时任务之类的,如果这个时候我们杀死这个pod,就一定会丢失一定的流量当 Kubernetes 杀死一个 pod 时,会发生以下 5 个步骤:1、 Pod

2021-09-10 12:57:37 1165

原创 docker compose 安装

pip 安装忽略,要安装py3.6+的环境太麻烦下载地址https://github.com/docker/compose/releases[root@localhost harbor]# chmod +x docker-compose-Linux-x86_64 [root@localhost harbor]# mv docker-compose-Linux-x86_64 docker-compose[root@localhost harbor]# mv docker-compose /u

2021-09-09 09:55:30 73

原创 服务器产生大量的TIME_WAIT

在高并发的场景会出现批量的TIME_WAIT的TCP连接:短时间后,所有的 TIME_WAIT 全都消失,被回收,端口包括服务,均正常。即,在高并发的场景下,TIME_WAIT 连接存在,属于正常现象。线上场景中,持续的高并发场景: 一部分 TIME_WAIT 连接被回收,但新的 TIME_WAIT 连接产生; 一些极端情况下,会出现大量的 TIME_WAIT 连接。 Nginx 作为反向代理时,大量的短链接,可能导致 Nginx 上的 TCP 连接处于 time_wait 状态..

2021-09-08 10:03:26 282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除