- 博客(62)
- 收藏
- 关注
原创 xshell 下载与设置
在会话列表中双击刚刚创建的会话,或者选中会话后点击工具栏上的 "连接" 按钮,Xshell 将尝试连接到服务器。首先,从官网下载 Xshell 安装包,然后按照提示进行安装。点击左上角的 "文件" -> "新建",或者直接按快捷键。是一款功能强大的终端模拟器,用于远程访问和管理服务器。弹出 "新建会话" 对话框。
2023-12-07 17:18:35 639
原创 用户/用户组管理
用户组分为 primary group(主要组),private group(私有组),attached group(附加组),由于任何用户都必须依赖于用户组才能存在,所以创建用户没有指定用户组(primary group)时,系统会为该用户创建个一同名的组,这个组叫做该用户的private group(私有组),私有组的意义就在于让用户属于一个用户组。对于任何一个用户来说,创建的文件,默认的拥有者就是该用户,默认的所属组是该用户的primary group,用户信息,信息分为7列,被6个冒号隔开。
2023-05-15 22:51:06 363
原创 blackbox_exporter 黑盒监测
一、简介blackbox_exporter是Prometheus 官方提供的 exporter 之一,可以提供 http、dns、tcp、icmp 的监控数据采集,blackbox_exporter 可用于以下监测:1.HTTP 测试定义 Request Header 信息判断 Http status / Http Respones Header / Http Body 内容2.TCP 测试业务组件端口状态监听应用层协议定义与监听3.ICMP 测试主机探活机制4.POST 测试
2022-05-30 14:07:23 7438 2
原创 Github添加SSH keys
问题:在本地(linux系统)下载github仓库源代码时,执行git clone 命令时出现以下报错:$ git clone [email protected]:hh-hub/prometheus.gitCloning into 'Prometheus'...Permission denied (publickey).fatal: Could not read from remote repository.Please make sure you have the correct access r
2022-04-28 17:41:19 2128
原创 在 AlertManager 报警通知中展示监控图表
参考原文档:在 AlertManager 报警通知中展示监控图表Promoter 是一个用于 AlertManager 通知的 Webhooks 实现,支持在消息通知中展示实时报警图表,也支持定制消息通知模板。https://mp.weixin.qq.com/s/Wcp7ltEbnHpUlbaF9JDgZg项目源码:GitHub - cnych/promoter: AlertManager Webhook Service With Alerts images.https://github.com/cnych
2022-04-28 09:30:08 591
原创 K8S中部署Grafana
从官方copy下来的文档并做了些修改,官方部署文档参考$ cat grafana.ymlapiVersion: v1kind: PersistentVolumeClaimmetadata: name: grafana-pvc namespace: kube-monspec: accessModes: - ReadWriteOnce resources: requests: storage: 3Gi storageClassName: ebs-..
2022-04-24 16:22:32 3752
原创 Pipeline 部署K8S应用
# cat jenkins_deploy.yml---kind: PersistentVolumeClaimapiVersion: v1metadata: name: jenkinspvc namespace: kube-monspec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: ebs-sc---apiVersion:...
2022-04-21 15:45:13 1522
原创 在Pod中执行目录操作,提示Permission denied
问题:进入Pod执行创建文件的操作,出现如下报错$ kubectl exec -it jenkins-5b688ddcc7-h72f2 -n cicd bash$ touch testtouch: cannot touch 'test': Permission denied解决:因为这里通过K8S exec进入Pod的用户是普通用户,而修改文件我们需要root权限,K8S exec命令目前没有找到指定用户的相关参数,但是Docker的exec命令可以通过-u指定root用户,那么可以通过docke
2022-04-21 10:51:44 2036
原创 Copy宿主机文件到Docker容器中
1.查找容器名$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES67686c68c78c keycloak:v3 "/opt/keycloak/bin/k…" 7 days ago Up 7 days 8080/tcp keycloak2.确定容器名了,通过命令inspect获取容器的长id$ docker inspect -
2022-04-20 10:45:05 4106 1
原创 Deployment 回滚
更新Deployment资源时,pod状态为Pending,使用delete命令是删不掉Pending的pod的,因为Deployment会无限创建,这时候需要用到Deployment的回滚功能如下我更改了Deployment/Jenkins,但新创建的pod因为资源不足无法创建而处于pending状态:$ kd get pod -n cicdNAME READY STATUS RESTARTS AGEjenkins-5b688d
2022-04-14 10:50:47 1155
原创 curl https方式访问kubernetes集群API
使用curl https方式访问kubernetes集群的api,认证方式需要用到token,这里使用变量赋予APISERVER 和TOKEN的值apiserver:$ APISERVER=$(kubectl config view | grep server | cut -f 2- -d ":" | tr -d " ")token:$ TOKEN=$(kubectl describe secret $(kubectl get secrets | grep default | cut -f1 -
2022-04-13 16:05:40 896
原创 Docker部署Gitlab
这里用docker部署gitlab-ce:14.0.0-ce.0版本:# docker pull gitlab/gitlab-ce:14.0.0-ce.0# mkdir -p gitlab1/{config,data,logs}# docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab1 \--restart always \-v /root/nn/gitlab/config:/etc/gitlab \-v /root/nn/gi
2022-04-08 15:01:58 1371
原创 JDK 环境部署
环境Centos 7.6卸载旧的#查看旧的java版本$ java -version#查看jdk信息$ rpm -qa |grep -i jdk#卸载jdk$ rpm -e --nodeps jdk信息安装新的#rpm安装1jdk$rpm -ivh jdk-8u144-linux-x64.rpm#添加环境变量$vim /etc/profile#在文件尾部添加如下配置export JAVA_HOME=/usr/java/jdk1.8.0_144export ..
2022-04-01 22:10:41 589
原创 Maven 集成
先再执行节点上安装Maven:部署Maven环境_lovely_nn的博客-CSDN博客JDK:在maven3.3 以上的版本需要JDK版本1.7+,内存:没有最低限制。磁盘:1G+可用磁盘空间。 操作系统:没有限制。下载地址:Maven – Download Apache Mavenhttp://maven.apache.org/download.cgi 部署#下载$ wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-m
2022-04-01 13:13:02 896
原创 部署Maven环境
JDK:在maven3.3 以上的版本需要JDK版本1.7+,内存:没有最低限制。 磁盘:1G+可用磁盘空间。 操作系统:没有限制。下载地址:Maven – Download Apache Mavenhttp://maven.apache.org/download.cgi 部署#下载$ wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz$ tar -xvf apac
2022-04-01 10:31:41 1246
原创 Generic WebHookTrigger 自动触发
1.安装配置Generic WebHook目的: 为Jenkins作业添加触发器,便于其他系统调用安装配置Generic WebHook,插件名称:Generic Webhook Trigger安装插件,重启后,进入一个Pipeline项目设置,就可以选择这个触发器了选择触发器,可以调用该API,调用的时候:这里要把 JENKINS_URL 换成自己真实的Jenkins 服务器地址,有端口就加上端口,是域名就写域名...
2022-03-25 18:11:29 2460
原创 Jenkins 权限管理与凭据
安装插件: Role-Based Strategy 可以对Jenkins用户进行权限管理,如果在Jenkins控制台安装插件失败,可以去Jenkins官网下载插件然后再上传 (Role-based Authorization Strategy)系统设置->全局安全配置中->授权策略选择Role-Based Strategy系统设置->Manage and Assign Roles管理角色又分为全局角色和项目角色,分配角色给相应的用户,用户就会继承角色的权限.
2022-03-25 16:29:53 849
原创 Pipeline Groovy 语法
Groovy是一种功能强大,可选类型和动态 语言,支持Java平台。旨在提高开发人员的生产力得益于简洁,熟悉且简单易学的语法。可以与任何Java程序顺利集成,并立即为您的应用程序提供强大的功能,包括脚本编写功能,特定领域语言编写,运行时和编译时元编程以及函数式编程。字符串操作注释// 单行注释 /* 多行注释*/字符串操作字符串表示方式: 单引号、双引号、三单双引号字符串操作:截取字符串、判断某个字符串是否存在、获取字符串长度、字符反转等……//定义一
2022-03-17 13:32:26 1780
原创 Jenkins 共享库应用
1. 创建一个共享库并创建Groovy类文件可以直接在github中创建一个公开类型的仓库,仓库名称自定义,公开类型的仓库是为了便于验证,也可以创建私有类型的gitlab仓库,需要提前配置好仓库的认证凭据。创建Groovy的类文件2.使用共享库Jenkins系统配置 -> Global Pipeline Libraries首先,为共享库设置一个名称 mylib (自定义,无需与gitlab仓库一致),注意这个名称后续在Jenkinsfile中引用,再设置一个默认的版本,这里的
2022-03-17 10:24:24 2092
原创 Pipeline 核心语法
常用开发工具选择任意pipeline类型的作业,点击“流水线语法”即可进入pipeline开发工具页面1.片段生成器流水线代码片段生成器, 非常好用。在这里可以找到每个插件以及Jenkins内置的方法的使用方法。使用片段生成器可以根据个人需要生成方法,有些方法来源于插件,则需要先安装相关的插件才能使用2.声明式语法生成器可以生成声明式流水线语法的语句块全局变量参考这些是已经安装的Jenkins插件和Jenkins内置的全局变量清单Pipeline的核...
2022-03-16 09:38:32 1893
原创 Jenkins 部署及加入Slave节点
1.docker安装Jenkins$ docker pull jenkins/jenkins$ mkdir /root/nn/jenkins_volume$ chmod 777 /root/nn/jenkins_volume $ docker run -itd --name jenkins -p 8080:8080 -p 50000:50000 -e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai'"
2022-03-11 17:11:14 2170 1
原创 pvc 动态扩容
查看当前要扩容的pvc空间大小有20Gi:$ kubectl get pvc -n kube-monNAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGEpro-data Bound pvc-f4536ba4-839e-49f6-a601-2e97e9123f0e 20Gi RWO ebs-sc 24m查看pvc申领的storageclass是否
2022-02-28 10:26:37 931 1
原创 kube-state-metrics 常用指标及含义
节点监控指标获取节点数:sum(kube_node_info)不可用的节点:sum(kube_node_spec_unschedulable)获取节点cpu核数:sum(kube_node_status_capacity{resource="cpu"})by(node)获取节点内存大小:sum(kube_node_status_capacity{resource="memory"})by(node)磁盘资源短缺的节点:kube_node_status_condition{
2022-02-22 15:26:13 3190
原创 Prometheus Relabel机制(relabel_config)
Relabel概述relabel顾名思义,就是标签重写,可以允许用户重写标签或者针对标签做一些过滤操作,Prometheus中的relabel有如下三种,应用范围和工作时段不一样,这里主要介绍relabel_config:relabel_config在被prometheus抓取之前修改,针对的是targetmetric_relabel_configs在被prometheus存储之前修改,针对的是Metricalert_relabel_configs在被发送到alertmanager之前,针
2022-02-21 16:14:53 6037
原创 AlertManager 钉钉报警
1、部署webhook程序AlertManager 支持很多种报警接收器,比如 slack、微信之类的,其中最为灵活的方式是 webhook ,我们可以定义一个 webhook 来接收报警信息,然后在 webhook 里面去进行处理,可以自定义发送怎样的报警信息,这里实现了一个简单的dingtalk 的 webhook 程序,代码仓库地址:github.com/cnych/alertmanager-dingtalk-hook,现在将这个服务部署到集群中来:将源码拉取到本地,打包这个服务镜像:#
2022-02-17 18:07:28 1877
原创 Alertmanager 告警通知系统的安装与配置
Alertmanager简介Alertmanager是什么?Alertmanager 是 Prometheus 的一个报警模块,主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且能够做到对告警信息进行去重,降噪,分组,是一款前卫的告警通知系统。Alertmanager工作机制在Prometheus生态架构里,警报是由独立的俩部分组成,Prometheus和Alertmanager是两个独立的组件,Prometheus用于采集监控指标数据,定义告警规则,并.
2022-02-15 17:00:19 3153
原创 部署kube-state-metrics
在 Kubernetes 集群上 Pod、DaemonSet、Deployment、Job、CronJob 等各种资源对象的状态也需要监控,这也反映了使用这些资源部署的应用的状态。比如:我调度了多少个副本?现在可用的有几个? 多少个 Pod 是 running/stopped/terminated 状态? Pod 重启了多少次? 我有多少 job 在运行中等等对于 Prometheus 来说,需要引入新的 exporter 来暴露这些指标,这就是kube-state-metrics。1.部署
2022-02-08 17:47:41 2649
原创 监控 Pod
apiserver 作为 Kubernetes 最核心的组件,当然他的监控也是非常有必要的,对于 apiserver 的监控我们可以直接通过 kubernetes 的 Service 来获取,如下这个 Service 就是k8s集群apiserver 在集群内部的 Service 地址,想要自动发现 Service 类型的服务,需要用到 role 为 Endpoints 的自动发现方式,在 Prometheus配置中添加上一个 Endpoints 类型的服务的监控任务即可:$ kubectl get
2022-01-29 09:35:30 2213
原创 Prometheus监控容器
说到容器监控我们自然会想到 cAdvisor,因为 cAdvisor 已经内置在了 kubelet 组件之中,所以我们可以直接通过访问 kubelet 的 /metrics/cadvisor 这个路径来获取 cAdvisor 的数据, 同样我们这里使用 node 的服务发现模式,因为每一个节点下面都有 kubelet,自然都有 cAdvisor 采集到的数据指标,在Prometheus中添加如下配置: - job_name: "cadvisor" kubernetes_sd_conf
2022-01-28 15:30:23 1487
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人