自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker NGINX 加载Geoip模板

【代码】Docker NGINX 加载Geoip模板。

2023-07-11 22:19:04 1076 1

原创 Prometheus basic auth实现用户密码登录

Prometheus basic auth实现用户密码登录

2023-02-19 16:23:07 2743 1

原创 Prometheus 记录规则和警报规则

Prometheus 记录规则和警报规则

2023-02-18 23:00:43 634

原创 Prometheus Docker安装及监控自身

Prometheus Docker安装及监控自身

2023-02-18 16:03:30 964

原创 Prometheus 自动发现监控AWS EC2实例

Prometheus

2023-02-13 22:06:02 1357

原创 Nginx 通用配置文件

# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;worker_processes auto;worker_rlimit_nofile 65535; #所有worker进程允许打

2022-05-22 17:00:47 532

原创 Nginx http永久跳转https

upstream dsb-sms-api { server 192.168.11.12 weight=3 max_fails=2 fail_timeout=20; server 192.168.11.13 weight=1 max_fails=2 fail_timeout=10;}#weight权重值 max_fails失败次数 fail_timeout有两层含义,一是在10s 时间内最多容许2 次失败;二是在经历了 2 次失败以后,10s时间内不分配请求到这台服务

2022-05-22 16:59:23 1186

原创 Nginx error_page 指令

前提环境:NGINX涉及参考文档:Nginx 官方文档error_page 语法Syntax: error_page code ... [=[response]] uri;Default: —Context: http, server, location, if in location将针对指定错误相应码 重定向指定URI,一个uri值可以包含变量。一、内部重定向到指定urivim /etc/nginx/conf.d/error_page.confserver {

2021-12-09 23:15:51 4044

原创 Nginx location 指令匹配

前提环境:NGINX涉及参考文档:Nginx官方文档 ngx_http_core_module 模块location 语法location [ = | ~ | ~* | ^~ ] uri { ... }location @name { ... }优先级= > ^~ > ~ = ~* > /= 对uri 做精确匹配,优先级最高。^~ 对uri【起始字符】,做字符串匹配(注意不是正则匹配),区分大小写,以匹配长度为优先,表示普通字符匹配。使用前缀匹配。

2021-12-09 10:49:01 2448

原创 Nginx return 响应码重定向

前提环境:NGINX涉及参考文档:Nginx官方文档 —— ngx_http_rewrite_module一、Nginx return 语法介绍Syntax: return code [text]; return code URL; return URL;Default: —Context: server, location, if停止处理并 将指定的返回code给客户端。非标准代码 444 关闭连接而不发送响应头。注: Nginx 版本 0.8.42 开始retur

2021-11-28 22:22:53 4953

原创 kubernetes 集群的访问-Token方式

一、创建新的名称空间kubectl create ns k8s-token二、查看新名称空间的secrets 与serviceaccountkubectl get serviceaccounts -n k8s-token && \kubectl describe serviceaccounts -n k8s-token && \kubectl get secrets -n k8s-token && \kubectl descr

2021-09-12 22:54:37 1343

原创 Kubernetes 用户认证-证书签名请求

官方证书签名请求一、创建私钥普通用户为了让普通用户能够通过认证并调用 API,需要执行几个步骤。 首先,该用户必须拥有 Kubernetes 集群签发的证书, 然后将该证书作为 API 调用的 Certificate 头或通过 kubectl 提供。创建私钥下面的脚本展示了如何生成 PKI 私钥和 CSR。 设置 CSR 的 CN 和 O 属性很重要。CN 是用户名,O 是该用户归属的组。 你可以参考 RBAC 了解标准组的信息。openssl genrsa -out myuser.key 20

2021-08-15 10:27:07 898

原创 Kubernetes 部署Dashboard Web界面

涉及参考文档:Kubernetes Web 界面 (Dashboard)Kubernetes Dashboard 项目页面一、部署 Dashboard UI查看github上最新的Dashboard版本为v2.3.1,此次操作部署最新版本吧1、获取yaml文件wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml下载不了那就手动去获取yaml文件即

2021-08-01 19:18:50 601

原创 Kubernetes 管理内存与CPU资源

涉及参考文档:为命名空间配置默认内存请求和限制为命名空间配置默认 CPU 请求和限制为命名空间配置最小和最大内存约束为命名空间配置最小和最大 CPU 约束为命名空间配置内存和 CPU 配额为命名空间配置 Pod 配额前提条件Kubernetes 集群集群名称空间 mem-cpu测试总结小图一、为命名空间配置默认内存请求和限制作用: 命名空间中创建 Container,并且 Container 未指定自己的内存限制,则为 Container 分配默认内存限制。Kuberne

2021-07-10 17:43:33 660 1

原创 Kubernetes 节点预留计算资源

涉及参考文档:为系统守护进程预留计算资源节点可分配资源配置资源不足时的处理方式简介信息:Kubernetes 的节点可以按照 Capacity 调度。默认情况下 pod 能够使用节点全部可用容量。 这是个问题,因为节点自己通常运行了不少驱动 OS 和 Kubernetes 的系统守护进程。 除非为这些系统守护进程留出资源,否则它们将与 pod 争夺资源并导致节点资源短缺问题。kubelet 公开了一个名为Node Allocatable 的特性,有助于为系统守护进程预留计算资源。 Kuber

2021-05-20 19:49:32 957

原创 Kubernetes DaemonSet控制器

涉及文档Kubernetes DaemonSet官方文档简介说明DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本。 当有节点加入集群时, 也会为他们新增一个 Pod 。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 PodDaemonSet 涉及应用场景在每个节点上运行集群守护进程在每个节点上运行日志收集守护进程 (fluentd、logstash)在每个节点上运行监控守护进程一、创建 DaemonSetvim

2021-05-15 19:05:43 323 1

原创 Linux 双机互信

Linux 双机互信#!/bin/bash#字颜色变量BLACK="\033[30m" #黑色RED="\033[31m" #红色GREEN="\033[32m" #绿色YELLOW="\033[33m" #黄色BLUE="\033[34m" #蓝色PURPLE="\033[35m" #紫色SKY_GREEN="\033[36m " #天绿色WHITE="\033[37m"

2021-05-12 22:38:59 391 1

原创 Kubernetes CronJob定时器

涉及文档Kubernetes CronJob官方文档Kubernetes 使用CronJob运行自动化任务Kubernetes CronJob限制 必读必看Kubernetes 编写Cron工作规范 必读必看编写Cron工作规范Cron 子参数名称注解schedule必填字段.spec,它采用Cron格式jobTemplate作业的模板,它是必需的。它具有与Job完全相同的架构startingDeadlineSeconds可选的。如果它由于任何原因错

2021-04-29 23:13:19 416

原创 kubernetes 持久化存储亲和性

涉及文档kubernetes storageClassName 名称指定kubernetes PersistentVolumeClaims selector节点调度[kubernetes local简介kubernetes 节点亲和性一、PVC绑定匹配PV名称每个 PV 可以属于某个类(Class),通过将其 storageClassName 属性设置为某个 StorageClass 的名称来指定。 特定类的 PV 卷只能绑定到请求该类存储卷的 PVC 申领。 未设置 storage

2021-04-10 21:57:28 611

原创 kubernetes Volume存储卷

涉及文档Kubernetes 存储概念Kubernetes 支持卷的类型configMap 卷卷的简介:Container 中的文件在磁盘上是临时存放的,这给 Container 中运行的较重要的应用 程序带来一些问题。问题之一是当容器崩溃时文件丢失。kubelet 会重新启动容器, 但容器会以干净的状态重启。第二个问题会在同一 Pod 中运行多个容器并共享文件时出现, Docker 卷是磁盘上或者另外一个容器内的一个目录。持久卷重点性:Kubernetes 支持很多类型的卷

2021-04-05 22:14:33 1150

原创 LInux 系统进程信息命令PS

涉及参考文档菜鸟教程PS 在线中午手册一、命令参数详细参数请看: man ps-A 列出所有的进程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程输出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER: 进程拥有者(用户)PID: pid%CPU: 占用的 CPU 使用率%MEM: 占用的内存使用率VSZ: 占用的虚拟记忆体大小RSS: 占用的

2021-03-24 01:06:11 368 1

原创 Kubernetes Ingress-Nginx 金丝雀发布

前提环境:kubernetesingress涉及参考文档:kubernetes 官方文档NGINX Ingress Controlle 官方手册kubernetes基于nginx-ingress进行蓝绿部署/金丝雀发布(canary)Kubernetes 使用Nginx-Ingress实现蓝绿发布/金丝雀发布/AB测试一、Ingress-Nginx-Annotation Canary 功能简介如果想启用Canary功能,要先设置nginx.ingress.kubernetes.io

2021-03-17 22:41:11 711

原创 LInux 系统虚拟内存命令Vmstat

文章参考书籍Linux性能优化其他博客https://www.cnblogs.com/tommyli/p/3746187.htmlvmstat需要知道几个概念:交换缓冲区(buffer)/缓存(cache)活跃与非活跃内存高端与低端内存页面交换空间一、命令格式Usage: vmstat [options] [delay [count]]Options: -a, --active active/inactive memory -f, --fork

2021-03-17 01:52:37 433

原创 Kubernetes Node节点篇

Kubernetes Node官方文档一、 手动节点管理节点上的标签和 Pod 上的选择算符来控制调度Kubernetes 污点和容忍度节点维护阶段二、 节点维护阶段简介信息:如果标记节点为不可调度(unschedulable),将阻止新 Pod 调度到该节点之上,但不会 影响任何已经在其上的 Pod。 这是重启节点或者执行其他维护操作之前的一个有用的准备步骤, 标记一个节点为不可调度命令格式:kubectl cordon $NODENAME注意: 被 DaemonSet 控制器

2021-03-04 23:31:17 2445 1

原创 LInux 系统内存命令之free

原学习视频 一、 free 简介Linux free命令用于 显示内存状态free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。二、free 命令free --help-b  以Byte为单位显示内存使用情况。-k  以KB为单位显示内存使用情况。-m  以MB为单位显示内存使用情况。-h  以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:-o  不显示缓冲区调节列。-s<间隔秒数>  

2021-02-28 14:44:45 1121

原创 搭建 Tomcat 环境

准备环境:测试环境所需包,我上传到云盘,如果有版本要求请查看官方下载所需的版本即可链接提取码: jw8e一、将这些下载好包放在/opt/tar目录下,养成一个好习惯:mkdir /opt/tarmv jdk-8u144-linux-x64.tar.gz /opt/tar/mv apache-tomcat-7.0.73.tar.gz /opt/tar/二、解压到/usr/local目录下。存放安装包:tar -zxf apache-tomcat-7.0.73.t

2021-02-03 21:29:38 208

原创 Linux操作系统中查看磁盘序列号

一、查看ECS实例中块存储的设备名lsblk二、使用以下命令获取块存储设备的序列号格式:udevadm info --query=all --name=磁盘设备名 | grep ID_SERIAL命令:udevadm info --query=all --name=/dev/vda | grep ID_SERIAL...

2021-01-31 17:04:44 7097

原创 Kubernetes CICD 开发部署环境

此篇可作为开发人员部署环境, 请先查看CICD流程篇章前提环境:kubernetesJenkinsGitlabHarbor必须有Master与Slave分布式 环境涉及参考文档:Pipeline 获取构建项目的用户 Pipeline 语法1Jenkinsfile 获取构建项目的用户 Pipeline 语法2钉钉机器人插件 语法介绍插件文档介绍:build user vars 插件介绍 DingTalk 插件介绍 接着上篇文章操作 Kubernetes CICD发布

2021-01-17 00:52:08 1259

原创 Nginx 网络参数优化

学习网址哔哩哔哩流程图如下:文字简述过程记得读一次:学习网址哔哩哔哩涉及知识点TCP 三次握手(SYN / ACK )四次挥手(FIN_WAIT / TIME_WAIT)一、net.core.netdev_max_backlog 队列长度接收自网卡,但未被内核协议栈处理的报文队列长度。当网卡接收数据包的速度大于内核处理速度时,会有一个列队保存这些数据包,默认值/proc/sys/net/core/netdev_max_backlog。cat /proc/sys/net/

2020-12-27 22:20:40 2671

原创 Nginx 嵌入式变量

一、该ngx_http_core_module模块支持名称与Apache Server变量匹配的嵌入式变量。首先,这些是代表客户端请求的报头字段的变量例如 " $http_user_agent",$http_cookie 等。另外还有其他变量:$arg_namename请求行中的 参数$args请求行中的参数$binary_remote_addr客户端地址(二进制形式),对于IPv4地址,值的长度始终为4个字节,对于IPv6地址,值的长度始终为16个字节$body_bytes_sent

2020-12-20 23:14:12 345

原创 Kubernetes CICD发布架构流程思路

此篇只适合cicd的架构流程思维,不建议作为任何部署环境。前提环境:kubernetesJenkinsGitlabHarbor具体过程可参考文章涉及参考文档:阿里文档部分:快速搭建Jenkins环境并完成流水线作业 : 获取镜像Jenkins on ACK实战(二):这是一条简单的流水线 :kubectl 部署到k8s 集群Serverless Kubernetes容器服务中快速部署jenkins环境及执行流水线构建: pipeline 语法插件文档介绍:Kubern

2020-12-19 20:29:29 1256 1

原创 Nginx 二进制编译安装

获取Nginx包入门安装Nginx具体安装可参考 入门安装Nginx 链接 ,这里不再操作了。有重复步骤快速跳过一、下载Nginxwget http://nginx.org/download/nginx-1.16.1.tar.gz && tar -zxf nginx-1.16.1.tar.gz 二、进入nginx源码目录cd nginx-1.16.1/ && ll -lh 三、介绍源码文件auto部分:cc目录: 用于编译lib目录: l

2020-12-18 23:45:01 673 2

原创 Nginx 日志文件回滚

使用Nginx 难免会有不小心将日志文件,但是不运行reload重启Nginx服务如何快速的恢复文件(数据肯定没有了),还有一种情况就将当前的日志文件改名或转移到其他目录进程备份,在重新打开就会生成新的文件。可使用如下方式一、测试删除默认的error日志文件一、恢复nginx -s reopen...

2020-12-17 23:10:52 471

原创 pipeline Gitlab通知触发

安装Gitlab 过程这里不进行搭建,可参考官方文档进行搭建。前提环境:JenkinsGitlabKubernets(可忽略)涉及插件:GitLab PluginGit注意点: GitLab Hook已弃用,安装插件请注意。同时需要了解pipeline看懂即可,此篇涉及知识点不大。一、创建Gitlab触发 流水线项目将随机生成的secret token 复制下来,在接下来的步骤中会使用到二、书写pipeline 流水线pipeline { agent{

2020-12-09 22:36:10 1705

原创 Jenkins Master与Slave分布式

重点涉及到知识点的文档:Jenkins的Kubernetes插件教程Jenkins 管道语法Kubernetes DNS的服务发现 一、先决条件Kubernetes集群 已部署Jenkins已安装Jenkins Kubernetes插件二、安装Kubernetes插件系统管理 -> 插件管理 -> 可选插件 -> Kubernetes plugin等待安装完重启Jenkins即可。三、Kubernetes云配置系统管理 -> 节点管理 -

2020-11-28 16:40:11 523

原创 Jnekins 缺少Pipeline插件 流水线报错 at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:216)

查看提示报错信息如下:Running in Durability level: MAX_SURVIVABILITY[Pipeline] Start of Pipeline[Pipeline] End of Pipelinejava.lang.NoSuchMethodError: No such DSL method 'pipeline' found among steps [bat, build, checkout, container, containerLog, input, junit, ku

2020-11-28 11:52:01 3639 2

原创 docker 命令列表

一、docker history 查看镜像中各层的内容及大小docker history k8s.gcr.io/coredns:1.7.0二、 查看容器重启次数docker inspect -f "{{ .RestartCount }}" 容器名三、查看容器最后一次的启动时间docker inspect -f "{{ .State.StartedAt }}" 容器名四、设置自动重启容器docker run -d --restart=always 容器名五

2020-11-25 22:53:52 1976

原创 Kubernetes 构建容器镜像 kaniko

Github kaniko简介 kaniko 是从容器或 Kubernetes 集群内部的Dockerfile构建容器映像的工具。kaniko 不依赖 Docker守护程序,而是完全在用户空间中执行 Dockerfile 中的每个命令。这样就可以在无法轻松或安全地运行Docker守护程序的环境(例如标准Kubernetes集群)中构建容器映像。一、入门测试实验kaniko 入门教程 一、先决条件1、Kubernetes集群2、映像仓库二、准备本地安装目录1、SSH进入集群,并创建一个本地

2020-11-25 21:35:29 1243

原创 kubernetes 部署Jenkins

一、部署Harbor镜像仓库1、 搭建Harbor镜像私仓2、node节点配置docker认证二、jenkins镜像打包1、书写dockerfile

2020-11-21 21:38:18 982 2

原创 Kubernetes探针

官方Kubernetes探针Kubernetes 对于Pod 的健康状态可以通过两类探针来检查:livenessProbe 和 readinessProbe ,kubernetes定期执行这两类探针来诊断容器的健康状况。livenessProbe探针: 用于判断容器是否存活(Running状态), 如果livenessProbe探针探测到容器不健康,则kubelet将杀掉该容器,并根据容器的重启策略做相应的处理。readinessProbe: 用于判断容器服务是否可用(Ready状态),达到Read

2020-11-12 20:05:04 513

空空如也

空空如也

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

TA关注的人

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