zhangguanzhang's Blog

zhangguanzhang's Blog

站在巨人的肩膀上

一次kube-controller-manager的bug导致的线上无法调度处理过程
线上的k8s环境普遍版本很低,今天同事心血来潮去一个新节点上去看了下发现根分区满了,清理了后发有一个pod没有创建出来。清理后把因为文件系统满了而down掉的k8s相关进程起来后发现kubelet的log一直报错cannot remove /var/lib/kubelet/xxxxconfig/key resource busy now 啥的。查看了下describe对应rc还没有任何Event1234567891011121314151617181920212223242526272829303132333435363738$ kubectl describe rc rabbit3rc...
不走etcd v2 api下二进制跑flannel的总结
      这几天给线上搭建k8s集群,文件和systemd参数大多是从kubeadm的staticPod的yml里扣出来的,起初是除了flanneld全部是systemd管理二进制。起初因为脚本问题导致kube-proxy的kubeocnfig少执行了use-context所以显示的是匿名用户无法list node信息,kube-proxy是在运行但是无法维持svc的网络,flanneld因为是pod要watch节点是通过kubernetes这个svc走的连接导致不通,然后pod状态变成退出,而kubelet在不手动清理掉退出...
k8s高可用涉及到ip填写的相关配置和一些坑
etcd就不说了,奇数个副本,可以坏(n-1)/2个,但是不可能同时坏那么多,这里不讨论etcd单独不单独跑。推荐个文档 https://github.com/etcd-io/etcd/tree/master/Documentation/op-guide       先说说k8s组件,kubelet和kube-proxy啥的肯定写LB或者VIP:HA_port,如官方的图scheduler和controller连接的apiserver地址我看网上有写127的也有写LB或者VIP:HA_port的,刚看到官方文档说两种都行 htt...
二进制部署Kubernetes v1.13.4 HA可选
本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansible和之前的步骤差不多都是和kubeadm步骤一样,不过这次所有kubelet全部走bootstrap不会像之前master上的kubelet生成证书,另外证书换成openssl生成 不建议使用secureCRT这个ssh软件复制本篇博客内容的命令,因为它的部分版本对包含多条命令的处理结果并不完美,可能很多命令不是预期结果 本文命令里有些是输出,不要乱粘贴输入(虽然也没影响) 本文命令全部是在k8s-m1...
docker部署jira(8.0.0)和confluence(6.14.1)
记录下这几天搭建的过程jira和confluence是分别两台,数据库也是分开的,数据库是用mysql的rpm的repo添加后安装的,jira和confluence是docker跑的,把破解的jar加到镜像里然后改了下别人的Dockerfile本次安装的版本: jira-software 8.0.0 confluence 6.14.1 Docker CE 18.06.02 OS CentOS 7.5.1804 系统基本设置 所有防火墙与SELinux 已关闭: 123systemctl disable --now firewalld NetworkManagersetenforc...
proxmox里使用cloud-init和一些笔记
cloud-init的镜像模板制作模板制作记录下proxmox制作带有cloud-init的虚机模板过程    因为刚开始制作虚机模板的硬盘是固定大小,后面通过克隆后调整硬盘大小就会自动growpart,需要安装cloud-utils-growpart。好像只能往大的扩,我个人也倾向于最小20G,所以这里我开的是20G硬盘的虚机    另外查了下和实际试了下cloud-utils-growpart好像只支持ext3和ext4不支持lvm自动扩,其他的文件系统可以考虑试试lvm自己写个脚本去开机启动自动扩。这里...
prometheus的黑盒监控
      常规的各种exporter都是和需要监控的机器一起安装的,如果需要监控一些tcp端口和七层应用层的状态呢,这个时候就需要黑盒监控了,不需要安装在目标机器上即可从外部去监控。       9115是它的http端点的默认监听端口,blackbox.yml它的配置文件里以基础的http、dns、tcp、icmp等prober定制配置出各种监测模块(module),在prometheus server的配置文件里声明用哪个模块去探测哪个targets,下面以doc...
对于初入k8s和kubeadm的一些建议
主要还是简单说下kubeadm 说说一些现象    无论docker还是K8s群看见过太多人盲目了有些是赶鸭子上来的,有的是跟风盲目进来乱学的.其中较多的分类为: 不学docker直接学k8s的跟风狗 没有熟悉Linux操作和一些基础知识的开发 Docker学得不怎么样就迫不及待来学的跟风狗 入门最具有争议的问题就是如何开始,k8s各个组件对于小白来说搭建方式和配置文件对于入门的人来说太庞大了,对于环境来学习一般分为下面两种 按照别人博客或者文章去手动搭建一个环境后学习 找个简易部署的方案来部署环境来学(kubeadm或者ansible...
一次docker镜像的解耦--onlyoffice
年初的时候就考虑过搭建个在线编辑excel的,之前试过很多owncloud,seafile,nextcloud,kodexplorer基本都是纯网盘或者不免费 这几天又有需求多人同时在线编辑office文件,同事找了个onlyoffice的用docker跑起来了. dockerhub上看了下镜像挺大的而且没有跳转到github上Dockerfile的超链接 稍微用docker history看了下发现里面一堆各种数据库都放同一个镜像里,根本没有解耦 于是便有了解耦这个镜像的冲动 先找官方的例子跑跑看 地址:https://api.onlyoffice.com/editors/demopr...
记录一次十字符病毒清理过程
周五网络组同事告知几个租户的session过大,建议我把租户这几台机器关机了我进去后把网卡down了后开始看稍微看了下是好几个十个字符的进程一直杀不完,叫存储同事把快照挂载了准备周一恢复 结果今天挂载上去后开机发现还是有,好吧,手动查杀结合猜想和状态输出想了下逻辑是如下思路 crontab加计划(/var/spool/cron/用户名文件,/etc/crontab里,/etc/cron.hourly/x.sh) 进程互相守护,杀掉一个生成一个新的在/usr/bin/目录,命名是十个字符 /etc/init.d/和/etc/rc.d/rcx.d/对应的软链接保证开机启动 首先ssh...
avatar
Zhangguanzhang
on the way