json笔者:张首富时间:20220415wx:y18163201背景我们在真实的生产环境中,在启动服务的时候可能会有先后顺序,比如服务A不启动成功,服务器B无法启动,服务B不启动成功服务器C又无法启动。所以这个时候我们该怎么办呢?想到的第一种方法就是使用探针,但是细想一下发现探针又好像不能完成我们的需求。(探针并不能控制不让服务启动,只能探测服务是否启动完成)这个时候就去翻官网,发现init容器
介绍 因为公司涉及离线环境的交付,我们有一个服务的镜像大小有12G;每次离线升级的时候同步镜像都是一件很蛋疼的事情。 因为离线环境没有办法直接使用docker pull 来拉取镜像的;每次都需要给这个镜像save 保存下来,然后传到离线环境的机器上去。 所以我们先减轻一下每次升级传包的工作量;我们就需要获取到每次升级的docker images增量的内容 项目地址: https://github.
在一个风和日丽的上午,日志告警群里的机器人开始告警,显示redis 连接超时;第一反应是不是redis 扛不住了。然后登陆到华为云控制台上查看redis 监控; redis 超时肯定就是网络层面的问题,第一反应先看一下是不是连接数满了; 然后看到活跃的客户端数量是2000不到,然后里面有一个新建连接数。发现新建连接数为562788(五十万),感觉这个监控指标有点异常,因为我们redis当前red
我们是实际工作中,可能并不希望所有的人都具有对Kubernetes集群的超级管理员权限,因为每个人的知识储备并不相同,而且每个人负责的业务线可能也各不相同;那我们在实际生产环境中时如何来控制k8s权限的呢?我们是通过jumpServer+K8sRBAC来进行权限控制的;大致流程如下,今天我们主要来讲解一下如何生成对应权限的Kubeconfig文件!image.png(https://s2.51ct
介绍什么是AutoSacling?弹性伸缩(AutoScaling,以下简称AS)是根据用户的业务需求,通过设置伸缩规则来自动增加/缩减业务资源。当业务需求增长时,AS自动为您增加弹性云服务器(ECS)实例或带宽资源,以保证业务能力;当业务需求下降时,AS自动为您缩减弹性云服务器(ECS)实例或带宽资源,以节约成本。AS支持自动调整弹性云服务器和带宽资源。AutoSacling的优势?自动调整资源
阿里云ECS搭建k8s跨主机网络不通今天采用kubeadm搭建一个kubernetes1.20.16的k8s集群,搭建完成之后发现DNS不能正常解析。排查后发现跨主机POD网络不能通信,苦恼许久,做下记录。因为网络插件采用flannel的hostgw模式,直接走二层网络通信。!image.png(1)上图是那掘金的。两台主机的网络规划就如上图吧?在Node1上无法ping通10.244.1.20.
jenkinsfileextensions:class:'GitLFSPull',timeout:30,
rediscluster自动切换主从之后想手动切回原来的状态当前主从关系bashmasterPort7000slavePort7003masterPort7001slavePort7004masterPort7002slavePort7005自动发生主从切换之后的集群状态bashmasterPort7003slavePort7000masterPort7001slavePort7004master
运行docker监控容器cadvisor的时候提示如下错误bashDec1317:36:39prd_javacc8dockerdcurrent2586:W121317:36:39.1856061manager.go:349CouldnotconfigureasourceforOOMdetection,disablingOOMevents:open/dev/kmsg:nosuchfileordire
Iptablesiptables简介iptables并不是防火墙,而是一个命令行工具;他实际上操作的是内核态的netfilter;!img(https://s4.51cto.com/images/blog/202111/17144340_6194a49cf377137899.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,
在使用crontab执行带创建日期的文件时发现命令执行不成功使用命令bash/bin/pingfc1000nlsgateway.cnshanghai.aliyuncs.com/tmp//bin/date+"%F%H%M".txt使用上面命令并未在/tmp目录下得到自己想要的内容,查看crontab日志发现bashtailf/var/log/cronNov811:06:0184crond7255:(
服务之间调用连接不上运维层面问题分析bash笔者:张首富时间:20201118晚问题描述1,20201118日上午清华反应callout服务调用robot服务失败;网络赵晨排查从网络层面排查并没有重传,丢包现象;2,20201118日下午李刚反应auth等多个java服务连不上数据库,连不上数据库的java服务都是部署在同一台机器上;过程分析上面两个问题其实是有相同点的,相同点就是服务之间的调用不
```bash 作者: 张首富 时间:2021-07-08 wx: y18163201 ``` ## 背景描述 我们目前所有的 java 服务都是封装在 docker 里面的,今天做压力容量测试的时候发现有个服务占用`cpu 300%`,想找到是这个 java 程序的那个线程造成的问题,把问题反馈给开发让他们去修复。 下面所使用的容器镜像都是通过:[Docker容器内执行 jvm 分析工具命令
```bash 作者: 张首富 时间: 2021-02-01 微信: y18163201 ``` ## 前言 目前我们公司使用的基本上都是java开发的后端,本文详细的介绍了公司java程序docker 包构建的演变过程,这里面不对java包本身的构建做过多的赘述。 ## docker 镜像的演变过程 最初的时候我们只想着给java包怎么放到docker 镜像中,我们使用了如下的Docke
# kubernetes之资源限制,请求 ## kubernetes可以使用LimitRange 对资源进行默认限制 先创建一个命令空间,我们在命名空间里面指定资源限制 ```yaml # cat limit-namespaces.yaml apiVersion: v1 kind: Namespace metadata: name: limit-namespace ``` 创建命名空间
Dockercp提示“nospaceleftondevice”作者:张首富时间:2021-05-24wx:y18163201前言此篇文章记录的并不是磁盘空间不足。问题描述今天在测试一个功能,需要频繁的替换一个docker容器内的一个文件,因为还处在测试阶段,所以我就没有频繁的构建docker镜像了;在前几次执行dockercp命令的时候都能正常的操作。突然再次执行dockercp命令时提示如下报错
磁盘作者:张首富时间:2021-05-24wx:y18163201什么是磁盘?磁盘(disk)是指利用磁记录技术存储数据的存储器.磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(FloppyDisk,简称软盘),如今常用的磁盘是硬磁盘(Harddisk,简称硬盘)。--摘自百度百科。磁盘的发展历程时间发展内容1956年IBM的IBM
ansible初始化系统分区格式化作者:张首富时间:2021-05-13wx:y18163201创建分区并进行格式化tasks:-name:'未分区磁盘'parted:device=/dev/{{item.key}}number=1state=presentwhen:notitem.value.partitionsregister:statuswith_dict:"{{ansible_device
ansible对文件内容的操作作者:张首富时间:2021-05-13wx:y18163201ansiblelineinfile简介lineinfile该模块是操作文件中的每一行内容,他是按照行为单位的,和下面的replace模块并不冲突。修改匹配行,如果不存在就会添加tasks:-name:EnsureSELinuxissettoenforcingmodelineinfile:path:/etc/
异常dockgeddon导致cpu100%问题描述1,收到钉钉告警,提示机器cpu使用率超过90%2,然后登录监控找到对应的机器确实是CPU使用率到达百分之百了。3,查看容器监控确定是哪个容器产生了问题(因为我这个机器上就运行了docker)如果没有容器监控也可以使用dockerstats来检查各个容器的资源消耗情况。4,找到出问题的容器,发现并不是我们业务的容器,于是开始分析分析出问题的dock
校验值是否合法作者:张首富时间:2021-04-13wx:Y18163201前言我们在任何编程语言中,都有传递的参数是否合法的需求,在go中我们可以引用下面的包直接来校验传递的参数是否合法安装goget-ugithub.com/astaxie/beego/validation使用packagemainimport("fmt""github.com/astaxie/beego/validation"
Couldn't fetch network config: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint. timed out
手把手带你进入docker网络的世界作者:张首富时间:2021-03-04转载:https://www.infoq.cn/article/MjwIBtwplrOMI5Vv5Joy前言使用容器总感觉像变模式一样。对那些了解其内部原理的人来说,他是一种很好的方式;而对于那些不了解其内部原理的人来说,这是一种可怕的方式。今天我们来尝试解决下容器网络问题。或者,更准确地说是单主机容器网络问题。在本文中,我
安装服务启动报错FailedtogetD-Busconnection:Operationnotpermitted作者:张首富wx:y18163201时间:2021-02-24今天别人给我了一个linux主机的远程登录方式,让我上去帮他安装个docker。这么简单的事情不是手到擒来吗。于是开始搞1,查看下系统版本#cat/etc/redhat-releaseCentOSLinuxrelease7.7
网站HTTPS优化Nginx常作为最常见的服务器,常被用作负载均衡(LoadBalancer)、反向代理(ReverseProxy),以及网关(Gateway)等等。一个配置得当的Nginx服务器单机应该可以期望承受住50K到80K左右每秒的请求,同时将CPU负载在可控范围内。但在很多时候,负载并不是需要首要优化的重点。请求延迟有时候往往是重点。这篇文章中,我们先介绍Nginx中的TLS设置有哪些
mac电脑自动登录服务器Iterm+expect结合方式实现expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。它的自动交互流程如下:spawn启动指定进程--->expect获取指定关键字--->send向指定程序发送指定字符--->执行完成退出接下来我们将利用expect来实现ssh自动登录。首先新建一个文件/usr/
作者:张首富时间:2020-12-17nginx配置如下server{listen443ssl;server_nametest.zhangshoufu.com;#sslon;ssl_certificate/etc/nginx/cert/4595406__guiji.ai.pem;ssl_certificate_key/etc/nginx/cert/4595406__guiji.ai.key;ssl
Redis高可用之哨兵模式原文:极客时间redis专栏我们在之前的文章里面已经介绍了redis高可用之数据持久化,我们分别介绍了AOF持久化和RDB持久化两种方式,我们来简单回忆下:AOF持久化是命令在redis实例执行成功后才会记录到AOF日志中,每次操作redis都会记录一个日志,这就会造成AOF日志文件变大,恢复起来不容易,我们可以采用AOF重写机制,来减小AOF文件的大小,AOF的重写机制
Redis数据持久化?-----意外宕机如何避免数据丢失我们在实际应用生产中,大部分公司会把Redis当做缓存使用,用它来把后端数据库中的数据存储在内存中,然后直接从内存中直接读取数据,这样会使这个程序响应速度变得非常快。但是一旦服务器宕机,那么内存中的数据将全部丢失?如何解决上述问题呢?我们第一时间肯定想到从后端数据库中读取数据,但是这样会频繁访问数据库,会给后端数据库带来巨大的压力;还有就是数
记录了prometheus告警指标主机和硬件监控可用内存指标主机中可用内存容量不足10%-alert:HostOutOfMemoryexpr:node_memory_MemAvailable_bytes/node_memory_MemTotal_bytes*100<10for:5mlabels:severity:warningannotations:summary:Hostoutofmemo
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号