随笔分类 - 运维
Devops,开发与(自动化)运维
摘要:问题描述 在 VMware 中使用官方 ISO 镜像安装好 Ubuntu 和 CentOS 后,发现: CentOS: 启动时间 - 7s,关机时间(shutdown now) - 2s Ubuntu: 启动时间 - 10s,关机时间(shutdown now) - 10s-180s(一直提示什么
阅读全文
摘要:个人笔记,胡言乱语,不保证正确。 前言 现在云计算和容器化越来越流行,大家开口闭口都是阿里云、腾讯云,或者 Kubernetes、容器、镜像、Docker 这样的字眼。 越来越多的中小公司选择把自己的服务进行拆分,微服务化,然后部署在各大云服务平台上。 但是云服务虽然好,开发环境总还是要在公司内部,
阅读全文
摘要:Bug 描述 Bug 分析 "更新 Ubuntu 系统,避免报错「校验和不符」 " 是 http 协议的缓存更新不及时,导致了 hash 值不匹配。 解决方法 根据上面给出的链接,我改用 https 协议的 apt 源,避免了缓存导致的这个 bug,具体的 dockerfile 如下: 解释一下,就
阅读全文
摘要:修改了 Deployment 后,旧的 Pod 被 Terminated,新的 Pod 被启动。 然后问题就出现了,旧 Pod 一直处于 Exited: Terminated 状态,无法删除。 因为我们使用了 hostPort,端口一直被这个旧 Pod 占用,新 Pod 就无法启动,一直 Pendi
阅读全文
摘要:问题 某天,突然发现 k8s 集群有大量的 evicted 记录,排查发现某节点 Fluentd 的 Buffer 占用超过 13G 存储,导致 K8s 节点 DiskPressure. 排查 K8s 默认在 Node 的可用存储空间低于 85% 时触发 DiskPressure,尝试清理空间,驱逐
阅读全文
摘要:一、API Gateway 网关,就是指一个流量的集中式出入口。而 API Gateway,顾名思义,就是在 Gateway 上再添加了一些 API 相关的功能后得到的东西。 具体而言,API Gateway 就是比普通的网关多干了一些以前我们在应用内部实现的事:身份认证,权限控制,基于来源的流量控
阅读全文
摘要:个人笔记,不保证正确。 独立博客阅读:https://ryan4yin.space/posts/jwt-algorithm-key-generation/ 签名算法 介绍具体的 JWT 签名算法前,先解释一下签名、摘要/指纹、加密这几个名词的含义: 数字签名(Digital Signature):
阅读全文
摘要:公司的应用架构一开始就选定了微服务+Kubernetes+Istio,整个开发环境都在内网,使用 Jenkins 做半自动化的 CI/CD. 前后端架构 前后端都遵从同一套设计思想:分层架构,提升复用能力,以后端为例,它的层次结构如下: 基础层:封装了开源的各种数据库连接器(mysql/redis/
阅读全文
摘要:ulimit 和 sysctl Linux 系统参数的修改主要包含两个部分: 1. :linux shell 的内建命令,它具有一套参数集,用于对 shell 进程及其子进程进行资源限制。(退出 shell 后失效) 例如用户同时运行了两个shell终端进程,只在其中一个环境中执行了ulimit –
阅读全文
摘要:Socket 状态变迁图 命令行查看方法 查看 socket 信息可以帮我们回答下列问题: 我的程序是不是真的在监听我指定的端口? 我的程序是在监听 127.0.0.1(本机),还是在监听 0.0.0.0(整个网络) 进程们分别在使用哪些端口? 我的连接数是否达到了上限? 我们使用 ss (sock
阅读全文
摘要:独立博客阅读:https://thiscute.world/posts/2019-summary/ 闲言碎语 我是今年六月底到的深圳,运气很好,第一面就面上了现在所在的公司。 公司的技术栈也很适合我,在入职到现在的这半年里,我学到了不少知识。 也尝试参加过两次技术分享,Rancher 的技术沙龙,前
阅读全文
摘要:以前一直是用 systemd 设置开机启动的服务,因为它不需要装额外的软件,方便。 但是最近遇到个问题,就是我还需要在 OS X 上设置 Jenkins Agent 的开机自启,为此专门学习了下 launchctl 的使用,最后还是功亏一篑,败在了环境变量设置这一步——不知道为啥,我在 /Libra
阅读全文
摘要:一台 Linux 服务器的四类指标如下: CPU:使用率、平均负载(load average) RAM:used | free | buffer/cache | avaliable Disk:空闲容量大小、IO 状态 Network:网速、延迟、丢包率等 下面详细地说明各项系统参数的意义、它们的正常
阅读全文
摘要:问题描述 出问题的是我们的主 Jenkins Slave,是在 Ubuntu 虚拟机里面,使用 Docker 跑了四个不同环境的 Jenkins Slave,提供 c#/golang/flutter/python 等的构建/测试环境。 而且这台服务器是不关机的,24h 提供服务。 一段时间后,这台
阅读全文
摘要:个人笔记,仅供参考。 本文大部分命令都要求 root 权限。 在使用 Linux 的过程中,有时会因为某些原因,预分配的磁盘/挂载点的容量不够用,需要扩容。 这时通常有三种方法进行扩容: 挂载新硬盘: 添加新硬盘,将硬盘挂到新路径下,再将数据备份到这个新路径下,实现扩容。 LVM 逻辑卷扩容:如果你
阅读全文
摘要:适用于 Ubuntu/Debian/CentOS 等 方案一:仅在内存耗尽的情况下才使用 swap 分区 # 首先进入 sudo 模式 sysctl vm.swappiness=0 # 临时生效 echo "vm.swappiness = 0" >> /etc/sysctl.conf # 永久生效
阅读全文
摘要:个人笔记,不保证正确! 博客已迁移至:https://thiscute.world/posts/kubernetes-common-errors-and-solutions/ Pod 常见错误 OOMKilled: Pod 的内存使用超出了 resources.limits 中的限制,被强制杀死。
阅读全文
摘要:在使用 Python 的 subprocess 包调用其他程序时,或者编写 Dockerfile 时,我们都会遇到一个小问题:使用 shell 模式,还是 Exec 参数化模式? 显然,使用 Shell 模式是最方便的——直接把命令当成一个字符串,一股脑儿传给 subprocess 或者 Docke
阅读全文
摘要:个人笔记,写得不详细。。。 Service Service 通过标签选择 pod,将各 pod 的 ip 保存到它的 endpoints 属性中。Service 的收到的请求会被均摊到这一组 endpoints 上。 DNS 在 k8s 中做服务发现,最常用的方式是通过 DNS 解析。 在我们的 k
阅读全文
摘要:“数据卷”通常和“有状态”这个词同时出现,卷用于给有状态应用保存/共享状态。 常用的数据卷类型 1. emptyDir: 用于存储临时数据的空目录 emptyDir 是一个初始状态为空目录的数据卷,pod 内的 app 可以把它当成一个普通的文件夹使用。它的常见用途有: 使用内存盘提升缓存的 io
阅读全文

浙公网安备 33010602011771号