zhangguanzhang's Blog

zhangguanzhang's Blog

站在巨人的肩膀上

一次deploy,rs,sts Mismatch 的处理
这次文章是远程帮群友解决故障后的总结,以时间线描述 群友一开始是apiserver响应慢,使用角度上就是kubectl请求慢,如 123E0326 07:49:37.586690 1 available_controller.go:416] v1beta1.metrics.k8s.io failed with: failing or missing response from https://10.99.174.208:443/apis/metrics.k8s.io/v1beta1: Get https:/&...
go mod的基础使用-科普
go mod由来        文章主要是针对新人来介绍go mod是啥以及新手如何使用,老手不用看。现阶段go mod已经完全GA了,你会用了的话会非常方便        像python的项目根目录有requirement.txt记录依赖包,nodejs是packages.json,同样go的包管理从早期的go dep(gopkg)到vendor到现在的go mod.     &...
centos6中毒重启后卡在启动页面
12345678910⣿⣿⣿⣿⣿⣿⢟⣡⣴⣶⣶⣦⣌⡛⠟⣋⣩⣬⣭⣭⡛⢿⣿⣿⣿⣿⣿⣿⣿⣿⠋⢰⣿⣿⠿⣛⣛⣙⣛⠻⢆⢻⣿⠿⠿⠿⣿⡄⠻⣿⣿⣿⣿⣿⣿⠃⢠⣿⣿⣶⣿⣿⡿⠿⢟⣛⣒⠐⠲⣶⡶⠿⠶⠶⠦⠄⠙⢿⣿⠋⣠⠄⣿⣿⣿⠟⡛⢅⣠⡵⡐⠲⣶⣶⣥⡠⣤⣵⠆⠄⠰⣦⣤⡀⠇⣰⣿⣼⣿⣿⣧⣤⡸⢿⣿⡀⠂⠁⣸⣿⣿⣿⣿⣇⠄⠈⢀⣿⣿⠿⣰⣿⣿⣿⣿⣿⣿⣿⣷⣤⣈⣙⠶⢾⠭⢉⣁⣴⢯⣭⣵⣶⠾⠓⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣉⣤⣴⣾⣿⣿⣦⣄⣤⣤⣄⠄⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠈⢿⣿⣿⣿⣿⣿⣿⡟⣰⣞⣛⡒⢒⠤⠦⢬⣉⣉⣉⣉⣉⣉⣉⡥⠴⠂⢸⠻⣿⣿⣿⣿⣏⠻⢌⣉⣉⣩⣉⡛⣛⠒⠶⠶⠶⠶⠶⠶⠶⠶⠂⣸⣿ 昨晚刚整好那个ubuntu,今天下午又一台cen...
记录一次request_module: runaway loop modeprobe binfmt-0000
        昨天一台gpu的主机的阵列卡突然坏了,最终整起来后上面的几台虚机恢复后有一台虚机无法正常开机,开机进emergency mode,同事看上面的报错以为是挂载了啥iscsi,当然无法开机应该找到最开始的错误,进到emergency mode这个视角的时候已经是雪崩的最后的错误了,多半是没有意义的。输入root密码后执行journalctl -xb翻看最开始的错误         按照关键字request_modul...
使用microsoft-graph的api对接onedrive
前言这几天打算把文件备份下,最后看到有网友说onedrive不错,就是容量小了点只有5g,然后酷安去安装安卓客户端,下面看到一堆人送office e5子账户的。看了下大概是微软为了推广自己产品面向开发者送的优惠,账户有免费的5t存储,而且安装office啥的免费。试用30天,30天内调用api来保持活跃度的话就会延期。评论里一大堆都是搭建oneindex或者onelist的,主要作用就是把onedrive给抽象成一个公共的网盘使用,oneindex是php写的,我看issue居然385个,作者的github也在更新,而且作者学了golang,居然也不打算重构下,估计也是烂尾了。oneli...
docker-18.06.3-ce启动panic: invalid page type: 0: 0的解决处理
凌晨pod状态异常且没有恢复,上线查看后docker ps -a命令无响应,kubelet日志也刷和docker的rpc通信context deadline cancel重启了docker后docker无法启动,前台运行开debug log level刚开始刷了个/var/lib/docker/tmp是个文件,对比了下其他机器上这个路径应该是个目录,然后改名后创建个权限和正常docker下权限一样的tmp文件夹再起 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748...
opensuse的一次救援
昨晚吃完晚饭回到办公室,右边同事在控制台看着一个suse起不来一直启动的时候卡在suse的蜥蜴logo背景图那。见我来了叫我看下,他们已经尝试过恢复快照,但是还不行,应该是很久之前损坏的,只不过因为没重启没发现,我叫他重启下看看卡在哪,重启后进入内核后显示背景图那按下esc然后看卡在/sysroot挂载那。目测分区损坏了,经历了ubuntu的安装iso的rescue mode就是渣渣后,我还是信任centos的iso。 处理先备份和准备工作关闭虚机,后台拷贝下系统盘的卷先备份下。然后给虚机的IDE光驱挂载了个centos 7.5 DVD的iso,修改虚机启动顺序到ISO,进Trouble...
从PTTYPE="dos"到TYPE="LVM2_member"的救援
同事叫我救援一台云主机,虽说是虚拟机,但是类比到硬件服务器还是一样的操作,这里记录下给后来者查阅 故障信息控制台进去看到centos7的背景虚化的数字7+转圈,重启下看下完整的错误,重启选了内核然后进到图形界面的时候按下ecs取消,观察终端 123456789101112131415161718192021222324[ OK ] Started Show Plymouth Boot Screen.[ OK ] Reached target Paths.[ OK ] Reached target Basic System.[ 124.522110] dracut-initqueu...
[长期更新]--应大多数人要求写下kubeadm的基础使用
市面上很多kubeadm的文章都是错误示范或者不够详细,大多数都没写系统设置之类的就直接kubeadm init导致很多跟着做的人会报错 我期望看到本文的读者最少具备以下知识: Linux一些目录规范和systemd 学过一点docker 懂dns和/etc/hosts、curl互相结合来测试一些web的接口响应状态 不要求github有自己项目,至少会浏览github 本教学将以下列节点数与规格来进行部署Kubernetes集群,系统CentOS 7.6+,有条件7.8,不要使用centos7.4以及一下,容器技术依赖于内核技术,低版本系统部署和运行后问题会非常多。有读者用debi...
consul仅当服务发现在k8s无状态部署使用
由来      consul server在机器上的部署已经写完了,但是dba还是希望部署在k8s上,昨天搜了下相关文章扣出来部分步骤自己验证实现了。      先说下需求,三台物理机单独跑mysql主从mha,利用consul client的服务注册+ttl向consul server注册成域名,然后配置k8s内部的coredns把域名*.service.consul转发到consul server。架构为下图 123456789101112131415161718P...
手动修复v1.14-v1.15版本k8s的issue:76956
由来该issue见 https://github.com/kubernetes/kubernetes/issues/76956, apiserver和controller-manager每次start的时候会刷下面信息。不影响使用,但是有强迫症可以按照本文思路手动修改。当然本文也是自己编译k8s的教程 123456E0423 17:35:58.491576 1 prometheus.go:138] failed to register depth metric admission_quota_controller: duplicate metrics collector re...
/boot目录被清空下物理机无法开机的一次救援
        今天下午到公司被通知苏州一个节点的客户的裸金属无法开机,14:00上去到16:50终于给整好了,这里记录下笔记分享下 故障现象物理机裸金属,连上跳板机通过带外连上去(等同于现场接了一个显示屏+键盘一样)错误为 1234.errorL file `/grub2/i386-pc/normal.mod' not found.Entering rescue mode...grub rescue>     &nb...
ansible数量限制上的幂等性
由来准备写上一篇文章的consul成ansible,在证书方面,cli和ca需要执行一次生成,而server和agent证书需要多次执行产生。另外我们也要考虑,dc1-server-consul-0*.pem需要拷贝到机器1,1拷贝到机器2.如何在生成证书的时候中断后再次运行也会达到目标的数量来实现幂等性,而不是证书生成多了另外证书还得按照index去拷贝到指定机器,也就是类似下面的 123scp 001.pem ip1:/etc/xxxscp 002.pem ip2:/etc/xxxscp 003.pem ip3:/etc/x...
高可用的SSL consul cluster实践
同事dnsmasq + consul 整服务自动发现,但是不是tls且consul server是单点,而且进程启动用的nohub而不是systemd,这里查了下资料实践了下 部署过程已经写成了ansible,地址 https://github.com/zhangguanzhang/consul-tls-ansible 开了五台云主机,总体规划为下面,角色那有条件的可以分开,例如client单独一台。不分开的话得配置client的端口和server的分开,自己去探索 IP Hostname CPU Memory role nodeName 172.19.0.3 consul1...
修改源码更改prometheus的时区问题
先说明一点,时区UTC不影响prometheus和grafana,这篇文章只是提供一个修改的思路和步骤 日志时区修改代码分析先起最新的prometheus挂载时区文件 1234567docker run --net host -v /etc/localtime:/etc/localtime prom/prometheuslevel=info ts=2019-09-05T09:44:40.409Z caller=main.go:293 msg="no time or size retenti...