Shi Hai's Blog

随遇而安

Linux终端基础命令

一、tmux 新建会话:tmux new -s 使用会话:tmux attach -t Ctrl+b d:脱离当前会话 Ctrl+b ?:进入tmux帮助文档 跨pane进行复制黏贴:用Ctrl+b [进入拷贝模式,按住space然后配合方向键进行文本拷贝,按enter建完成拷贝,到目标面板,按Ctrl+b ]完成复制输出 杀死会话:tmux kill-session -t 刷新tm...

CloudNative Pack项目典型实现代码走读

Pack代码仓地址:https://github.com/buildpacks/pack 过程性内容走读流水账记录,慢慢看,慢慢学,慢慢进步 一、整体逻辑 TODO 1.1 client初始化 Client是Pack项目中所有构建任务的集成对象,相关命令行的触发最后均有Client实例进行,而传递的行为则由PackClient接口进行设计和约束,代码实现目录在pkg/client。 设计...

Terraform Provider如何解析.tf文件

一、背景介绍 对于一个Terraform文件(.tf),相关providers是如何对资源Resource结构进行管理、资源映射到代码和最终应用?如下方的k8s provider创建kubernetes_cluster_role的实例,是如何解析k8s资源信息? resource "kubernetes_cluster_role" "example" ...

2022年软件工程洞察

兼听则明,偏信则暗。 一、背景介绍 对google、amazon、microsoft等大厂软件工程能力的发展洞察看看是否有最新的理论、技术创新。 二、洞察内容 2.1 零信任架构(Zero trust architecture, ZTA) 企业过度依赖“安全”的网络边界会导致安全性收到严重损害。一旦外部边界被攻破,内部系统就会变得欠缺保护。 零信任是一种设计安全防护架构的方法,它的核心思...

Terraform format介绍

一、背景介绍 Terraform使用文本文件描述基础设施和设置变量,这些文件被称为Terraform配置文件。Terraform配置文件主要有两种格式:Terraform格式(.tf)和JSON格式(.tf.json)。Terraform配置文件主要由Providers、Resources、Data Sources和Variables组成。 二、格式介绍 2.1 Providers、Reso...

《社会心理学》阅读随笔

对自己有用的观点: 自视甚高(根本原因了解自己胜过他人) 过于乐观 简单易得性倾向 基本归因错误(自己对外部环境做判断,对他人评价看不见他人面对的外部环境) 人类思考有限性 第二章 社会中的自我 自我服务偏差:个体倾向于有利于自身的方式来进行自我知觉。 对积极和消极事件的解释:把成功归结为自己的才能和努力,却把失败归咎于诸如“运气不佳”,“问题本身就无法解决”等这样的外部因素。进行自...

python set用法解析

一、Set介绍 Set是一个没有重复元素的无序集合。 二、创建Set集合的若干方式 2.1 通过大括号创建Set 通过大括号可以创建出一个set实例,但要注意的是如果没有集合元素,则my_set = {}是一个空的字典实例。 my_set = {'a', 'b', 'c'} my_set = {c for c in 'abracadabra' if c not in 'abc'} 2.2 ...

多线程调用sqlalchemy内存占用高

一、问题背景 服务组件中有多线程对数据库进行查询操作,当数据表数据规模超过10K+以上,会发现多线程通过sqlalchemy进行查询结束后的服务进程内存占用一直较高无法对使用内存进行回收。 二、问题分析及定位 2.1 问题触发代码和执行 能触发多线程调用sqlalchemy内存占用持续走高的代码如下所示,数据库表可以连接自己的数据库服务,为了更好观测内存占比走高的情况,表内数据建议超过10K...

云原生应用管理

一、开通(provisioning) provisioning是设置IT基础设施的过程。provisioning和配置不是一个事情,但是他们都是deployment过程中的步骤。有多种类别的provisioning:server provisioning(服务器开通),network provisioning(网络开通),user provisioning(用户开通),service pro...

Centos 上安装 K8s

一、K8s 介绍 TBD 二、K8s 组件 K8s 集群由一组 Node 构成,每个集群至少有一个 Worker Node。Worker Node 会托管 Pod,而这些 Pod 是应用负载的组件。 控制面组件 控制面管理集群中的 Worker Node 和 Pod。 kube-apiserver:是 K8s 控制面的前端,我们可以通过REST、kubctl和kubadm与其进行交互访问;...