- 博客(41)
- 收藏
- 关注
原创 Nginx优化
1、Nginx运行工作进程数量Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor /proc/cpuinfo | wc -l[root@lx~]# vi/usr/local/nginx1.10/conf/nginx.confworker_processes 4;[root@lx~]# /usr/local/nginx1.10/sbin/nginx-s reload
2021-03-08 10:47:26
312
原创 centos7 编译安装指定版本内核
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.4.218.tar.gzyum groupinstall "Development Tools" -yyum install -y elfutils-libelf-devel bc openssl-devel ncurses-devel wget ntpdate vim net-toolstar -zxf linux-4.4.218.tar.gzcd linux-4.4
2021-01-18 19:37:10
572
转载 Nginx 配置常用参数
主模块# 配置用户或者组,默认为nobody nobody。#user www www; #Nginx开启的worker进程数,建议为CPU的核数#worker_processes 2; #指定nginx进程运行文件存放地址#pid /nginx/pid/nginx.pid;#指定日志路径,级别。这个设置可以放入全局块、http块、server块,级别以此为:debug|info|notice|warn|error|crit|alert|emergerror_log log/err
2020-12-29 11:38:18
304
原创 创建 memory cgroup 失败原因与解决方案
现象测试环境中一台机器上的pod转移到其他节点,涉及大量的容器创建和销毁。偶尔会遇到 memory cgroup 无法创建的问题。体现在日志上如下:Dec 22 08:00:00 kubelet: E1222 08:00:00.498519 15276 pod_workers.go:190] Error syncing pod 568af631-f663-4475-86f2-fa6bf1612659 ("crawler-api-7948c5bc95-5kgp8_brown(568af631-f66
2020-12-22 15:29:30
9399
1
原创 k8s常见报错及解决方法
cgroup driver问题现象:03 16:08:32.319709 24189 server.go:265] failed to run Kubelet: misconfiguration: kubelet cgroup driver:"cgroupfs" is different from docker cgroup driver: "systemd"原因:kubelet cgroup driver 与docker 不一致解决方法:修改kubelet 或者 docker 配置保持.
2020-12-03 17:53:56
2554
原创 Linux /proc和/sys目录详解
/proc 目录/proc 正在运行的内核信息映射,主要输出的信息为:进程信息、内存资源信息、磁盘分区信息等。/proc下文件基本都是只读的,除了/proc/sys目录,它是可写的(查看和修改内核的运行参数)/proc下数字命令的目录就是对于PID的进程目录/proc/cmdline 启动时传递给kernel的参数信息(就是bootargs信息)/proc/cpuinfo cpu的信息/proc/crypto 内核使用的所有已安装的加密密码及细节/proc/devices 已经加载的设备并
2020-12-03 14:20:29
3926
原创 VIM常用快捷键
一、移动光标h,j,k,l 上,下,左,右ctrl-e 移动页面ctrl-f 上翻一页ctrl-b 下翻一页ctrl-u 上翻半页ctrl-d 下翻半页w 跳到下一个字首,按标点或单词分割W 跳到下一个字首,长跳,如end-of-line被认为是一个字e 跳到下一个字尾E 跳到下一个字尾,长跳b 跳到上一个字B 跳到上一个字,长跳0 跳至行首,不管有无缩进,就是跳到第0个字符^ 跳至行首的第一个字符$ 跳至行尾gg 跳至文首G 调至文尾5gg/5G 调至第5行gd 跳至
2020-11-19 11:19:13
282
原创 k8s中容器权限问题
问题1在容器内strace/gdb一个进程报错:operation not permitted这涉及到ptrace系统调用的权限问题,默认容器是没有权限去ptrace进程的。这个问题需要通过给容器提权才能解决,在K8S中需要给container级别增加如下选项: containers: - name: xxx image: xxx.com/php/zhongce_v2:a382ecfa39d16391bc91f2036437906ef97c875e-15530
2020-11-09 15:30:09
5631
1
原创 cpu使用率为什么会超过cpu核心数 * 100%
因为 cpu这种资源是没法完全限制死的,有时候这个计算处于不可中断的状态,cpu相对使用时长会变长,但不会有特别巨大的波动
2020-11-06 14:42:23
980
原创 k8s资源需求及资源限制
在k8s上,可由容器或pod请求或消费的计算资源时指cpu和内存,这也是目前仅有的受支持的两种类型。相比较来说,cpu属于可压缩资源,即资源额度可按需收缩,而内存则是不可压缩型资源,对其执行收缩操作可能会导致某种程度的问题。目前来说,资源隔离尚且属于容器级别,cpu和内存资源的配置需要在pod中的容器上运行,每种资源均可由request属性定义其请求的确保可用值,即容器运行可能用不到这些额度的资源,但用到的时候必须要确保有如此多的资源可用,而limits属性则用于吸纳子资源可用的最大值,即硬限制。通常把资
2020-11-06 11:11:51
2144
原创 K8S 资源限制 QoS
设置资源很烦,但是十分必要。如果不设,Pod虽然很容易被调度,可以使用整个node资源,但是当资源紧俏时,会被第一个kill。所以这里学习下资源限制。QoS官方入门文档QoS设计文档腾讯云:老司机和你深聊Kubenertes 资源分配之 Request 和 Limit 解析QoSGuaranteed:每个容器都必须设置CPU和内存的限制和请求(最大和最小)。最严格的要求Every Container in the Pod must have a memory limit and a memory
2020-11-06 11:04:37
356
原创 kernel: nf_conntrack: table full, dropping packet.报错
问题现象:服务器负载正常,但请求大量超时,服务器/应用访问日志看不到相关请求记录。在 dmesg 或 /var/log/messages 看到大量以下记录:kernel: nf_conntrack: table full, dropping packet.原因:服务器访问量大,内核 netfilter 模块 conntrack 相关参数配置不合理,导致 IP 包被丢掉,连接无法建立。查看nf_conntrack表最大连接数:sudo sysctl net.netfilter.nf_connt
2020-11-05 16:47:20
563
原创 通过docker image查看Dockerfile
docker history --format {{.CreatedBy}} --no-trunc=true $DockerImage |sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\/sh\ -c/RUN/g" | tac–format {{.CeratedBy}}: 只输出 CREATE BY 这一列–no-trunc=true: 完成输出命令sed “s//bin/sh\ -c\ #(nop)\ //g”|sed “s//bin/sh\ -
2020-11-05 16:38:18
7049
1
原创 http 状态码
类别原因短语1xxInformational(信息性状态码)接受的请求正在处理2xxSuccess(成功状态码)请求正常处理完毕3xxRedirection(重定向)需要进行附加操作以完成请求4xxClient error(客户端错误)客户端请求出错,服务器无法处理请求5xxServer Error(服务器错误)服务器处理请求出错HTTP状态码(响应码)之消息响应100HTTP状态码(响应码)100意为消息响应,下面列出HTTP状态...
2020-08-10 20:52:51
196
原创 mac下创建python 虚拟环境
前提:本机已经安装python3MAC操作系统1.安装virtualenvsudo pip3 install virtualenv2. 安装virtualenvwrapperVirtaulenvwrapper是virtualenv的扩展包,可以更方便地新增,删除,复制,切换虚拟环境。sudo pip3 install virtualenvwrapper3.创建.virtualenvs的隐藏文件夹存放所有虚拟环境mkdir ~/.virtualenvs4.切换到.virtualenvs
2020-07-22 20:38:31
507
1
原创 Linux /proc和/sys目录详解
/proc 正在运行的内核信息映射 主要输出: 进程信息 内存资源信息 磁盘分区信息等等/sys 硬件设备的驱动程序信息/proc 文件系统/proc下文件基本都是只读的,除了/proc/sys目录,它是可写的(查看和修改内核的运行参数)/proc下数字命令的目录就是对于PID的进程目录/proc/cmdline 启动时传递给kernel的参数信息(就是boo
2020-07-02 15:23:07
647
原创 shell 快捷键
光标移动ctrl + < 移动到前一个单词开头ctrl + > 移动到后一个单词结尾ctrl + A 移动到开头ctrl + E 移动到结尾alt + B 向左移动一个单词alt + F 向右移动一个单词ctrl + B 向左移动一个字符ctrl + F 向右移动一个字符esc + B 向左移动一个单词esc + F 向右移动一个单词ctrl + XX 在.
2020-06-16 16:10:02
319
原创 logrotate使用
Logrotate 程序是一个日志文件管理工具。用于分割日志文件,压缩转存、删除旧的日志文件,并创建新的日志文件,下面就对logrotate日志轮转的记录:Logrotate配置文件介绍Linux系统默认安装logrotate,默认的配置文件:#/etc/logrotate.conf#/etc/logrotate.d/#logrotate.conf:为主配置文件#logrotate.d:为配置相关子系统,用于隔离每个应用配置(Nginx、PHP、Tomcat...)Logrotate是基于
2020-05-14 12:07:39
539
转载 实际运维问题
实际运维问题https://blog.youkuaiyun.com/qq_36937234/category_7484923.html
2020-05-12 14:49:47
187
原创 Python生成requirements
在查看别人的Python项目时,经常会看到一个requirements.txt文件,里面记录了当前程序的所有依赖包及版本号,其作用是用来在另一个环境上重新构建项目所需要的运行环境依赖。生成方法一(适用于虚拟环境):requirements.txt可以通过pip命令自动生成和安装,这种情况更适用于此项目是单独的虚拟python环境生成requirements.txt文件pip freeze > requirements.txt生成方法二(适用于本地环境)安装pip install pip
2020-05-12 11:17:55
896
原创 Kubernetes中的开放接口
Kubernetes中的开放接口CRI、CNI、CSIKubernetes作为云原生应用的最佳部署平台,已经开放了容器运行时接口(CRI)、容器网络接口(CNI)和容器存储接口(CSI),这些接口让Kubernetes的开放性变得最大化,而Kubernetes本身则专注于容器调度。开放接口Kubernetes作为云原生应用的的基础调度平台,相当于云原生的操作系统,为了便于系统的扩展,Ku...
2020-03-24 15:36:52
328
原创 kubernetes网络模型
网络模型概述k8s的网络中主要存在四种类型的通信:同一pod内的容器间通信、各pod彼此之间的通信、pod与service间的通信、以及集群外部的流量同service之间的通信。k8s为pod和service资源对象分别使用了各自的专用网络,pod网络由k8s的网络插件配置实现,而service的网络则由k8s集群予以指定。k8s的网络模型需要借助于外部插件实现,它要求任何实现机制都必须满足以...
2020-03-24 10:52:39
298
原创 Docker制作镜像
Docker制作镜像Dockerfile 指令详解1.FROM用法:FROM <image>1FROM指定构建镜像的基础源镜像,如果本地没有指定的镜像,则会自动从 Docker 的公共库 pull 镜像下来。FROM必须是 Dockerfile 中非注释行的第一个指令,即一个 Dockerfile 从FROM语句开始。如果FROM语句没有指定镜像标签,则默认使用late...
2019-11-11 14:08:20
182
原创 Kubernetes集群二进制部署
Kubernetes集群二进制部署https://github.com/opsnull/follow-me-install-kubernetes-cluster
2019-11-07 09:49:27
180
1
原创 Kubernetes安装配置指南(kubeadm工具安装)
Kubernetes安装配置指南(kubeadm工具安装)安装 Kubernetes对软件和硬件的系统要求cpu和内存master:至少2core4GB内存Node:根据需求而定Linux操作系统(关闭防火墙和selinux)基于x86_64架构的各种Linux发行版本推荐redhat7或Centos7kernel版本3.10以上,推荐关闭交换空间的使用,swapoff -...
2019-11-07 09:47:08
748
原创 Linux系统密码破解
Linux系统密码破解(一)CentOS Linux 系统密码破解1.在grub选项菜单按E进入编辑模式 2.编辑kernel那行 /init 1 (或/single) 3.按B重启 4.进入后执行下列命令 root@#passwd root (设置root的密码) Enter new unix password:输入新的密码 root@#init 6(二)ubunt...
2019-11-07 09:34:47
206
原创 pushgateway
usage: pushgateway []The PushgatewayFlags:–web.listen-address=":9091" 监听Web界面,API和遥测的地址。–web.telemetry-path="/metrics" 公开metrics的路径。–web.external-url= 可从外部访问Pushgateway的URL.–web.ro...
2019-09-24 13:47:55
7507
6
原创 Linux使用dd命令快速生成大文件
dd命令可以轻易实现创建指定大小的文件,如dd if=/dev/zero of=test bs=1M count=1000会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源)。但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大文件,速度很慢。在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写...
2019-08-28 13:32:51
328
原创 算法学习目录
时间8空间复杂度详解;冒泡,选择,插入排序等;栈。二叉树、链表数据结构;快排。堆排,归井等;动态规划,贪心算法;钢条切割。RSA算法;
2019-08-27 14:18:35
129
原创 Linux命名空间概述
Linux的命名空间机制提供了一种资源隔离的解决方案。PID,IPC,Network等系统资源不再是全局性的,而是属于特定的Namespace。Linux Namespace机制为实现基于容器的虚拟化技术提供了很好的基础,LXC(Linux containers)就是利用这一特性实现了资源的隔离。不同Container内的进程属于不同的Namespace,彼此透明,互不干扰。Namespace是...
2019-08-22 13:41:47
1424
1
原创 ps 命令详解
ps 概述Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。inux上进程有5种状态:运行(正在运行或在运行队列中等待)中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)不可中断(收到信号不唤醒和不可运行...
2019-08-21 10:06:13
6148
原创 Redis 的持久化和主从复制
什么是Redis持久化?Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存当中,在处理客户端请求时,所有操作都在内存当中进行,如下所示:这样做有什么问题呢?其实,只要稍微有点计算机基础知识的人都知道,存储在内存当中的数据,只要服务器关机(各种原因引起的),内存中的数据就会消失了,不仅服务器关机会造成数据消失,Redis服务器守护进程退出,内存中的数据也一样会消失。对于...
2019-08-08 09:11:27
97
原创 kafka配置文件参数
kafka的配置分为 broker、producter、consumer三个不同的配置BROKER 的全局配置最为核心的三个配置 broker.id、log.dir、zookeeper.connect 。系统 相关每一个broker在集群中的唯一标示,要求是正数。在改变IP地址,不改变broker.id的话不会影响consumersbroker.id =1kafka数据的存放地址,多个...
2019-07-23 16:01:31
136
原创 open-falcon组件介绍
open-falcon 组件特性强大灵活的数据采集:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags)强大水平扩展能力:支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询强大高效率的告警策略管理:高效的port...
2019-07-22 09:55:44
418
原创 Redhat操作系统与linux内核版本对应关系
Red Hat Enterprise Linux 8ReleaseGeneral Availability Dateredhat-release Errata Date*Kernel VersionRHEL 82019-05-07-4.18.0-80Codename: Ootpa (is based on Fedora 28, upstream Linux k...
2019-07-16 11:25:01
6804
原创 Kafka常用命令
Kafka常用命令以下是kafka常用命令行总结:1.查看topic的详细信息./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic testKJ1 2、为topic增加副本./kafka-reassign-partitions.sh -zookeeper 127.0.0.1:2181 -reassignment-js...
2019-07-16 09:27:25
99
原创 kafka 命令行详解
kafka bin目录下的各种脚本,功能如下:脚本名称用途描述connect-distributed.sh连接kafka集群模式connect-standalone.sh连接kafka单机模式kafka-acls.shtodokafka-broker-api-versions.shtodokafka-configs.sh配置管理脚本k...
2019-07-15 16:54:56
1397
原创 CPU 使用率低高负载的原因
CPU 使用率低高负载的原因原因总结产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低。下面内容是具体的原理分析:在分析负载为什么高之前先介绍下什么是负载、多任务操作系统、进程调度等相关概念。什么是负载什么是负载:负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,...
2019-07-12 12:36:32
417
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人