SF
FingerLiu
FingerLiu
注册登录
关注博客
注册登录
主页
关于
RSS
k8s 未来展望
FingerLiu
2023-01-04
阅读 1 分钟
953
降低复杂度。以 k3s 为代表的 k8s 简化方案将继续发展。2022 年 k8s 已由 3 月一版本的迭代周期变成了4月一版本的迭代,也从侧面反应了其功能日趋完善和复杂。
eBPF in kubernetes 实战
FingerLiu
2021-11-24
阅读 5 分钟
5.1k
背景众所周知 eBPF 是非常有前景的项目,甚至成立了专门的基金会([链接])来推动其生态的发展和标准化。关于 eBPF 的基础知识有很多资料,在此不再赘述。本文旨在探索 eBPF 和 kubernetes 结合时会有什么化学反应,以及如何结合现有工具链解决实际问题。涉及的相关开源项目主要如下:bccbpftracekubectl-tracekubectl-flam...
遗留系统演进
FingerLiu
2021-08-16
阅读 5 分钟
6.2k
本文主要分三部分,第一部分简要阐述“演进式架构”和“适应度函数”的概念,其中部分内容节选自《演进式架构》一书;第二部分通过以 etcd 和 kubernetes 为例说明演进式架构思想如何影响开源项目的演进;第三部分通过对第二部分的思考总结,进而推演出在公司软件产品的开发过程中,我们该如何借助“演进式架构”的思想更好地...
模型可解释性
FingerLiu
2021-08-11
阅读 3 分钟
2.7k
可解释性是人可以理解系统决策的一个度量(Interpretability is the degree to which a human can understand the cause of a decision.)
2021 OKR & 2020 OKR review
FingerLiu
2021-01-31
阅读 1 分钟
2.9k
我的个人 OKR 一般都制定的比较简单一些,大多是一些可量化的,希望自己比较务实,踏实一些,不那么浮躁吧。O1 成为更高级别的工程师KR1 落地两个公司级别的核心项目KR2 向上管理KR3 向下管理O2 感受世界,探索更多可能性认识 10 个陌生人认真看 10 本书去 5 个没去过的城市O3 认识自我长期规划,选定落脚城市稳定住所20...
容器化管理演进(draft version)
FingerLiu
2020-08-28
阅读 3 分钟
1.7k
容器化管理演进演进过程swarm单集群,共享宿主机端口,服务发版有一定时间服务不可用。k8s 原生控制器多集群支持,支持简单的发布策略主要为黑盒操作,即以修改 k8s 原生资源配置为主,无法实现灰度发布,蓝绿发布等高级功能。随着容器化的持续进行,越来越多的业务跑到 k8s 集群上,目前已有 6 个不同集群对外提供服务...
kubernetes pod(with pv) 调度时序图
FingerLiu
2020-08-24
阅读 1 分钟
3.8k
k8s 调度是比较核心的功能,由多个组件合作完成。用户创建 pod 对象后,先会进入 pending 状态,等待调度器调度。kube-scheduler watch 到新建的 Podkube-scheduler 调用 scheduleOne 进行具体调度predict 筛选满足 scheduler 配置的调度算法的条件的节点如果 Pod 配置了持久化,kube controller manager 调用 AssumePod...
2020 OKR
FingerLiu
2020-02-23
阅读 1 分钟
1.1k
2020 OKR O1 成为更专业的工程师 KR1 落地三个主导设计的项目 KR2 不少于3篇讲计算机通用知识的高质量博文 KR3 获得 50 颗 github star! KR4 被 CNCF 项目 merge 两个 PR O2 感受世界,探索更多可能性 认识 5 个非程序员的人 学会冲浪 带家人去欧洲或日本玩一趟 get another motor!
kubernetes 指南 -- 弹性伸缩
FingerLiu
2020-01-10
阅读 9 分钟
8.4k
kubernetes 指南 -- 弹性伸缩 kubernetes 指南 -- 弹性伸缩 0x0 pre 0x1 autoscaling 目的 节点和服务 垂直伸缩与水平伸缩 弹性伸缩的级别 0x2 autoscaling in kubernetes service autoscaling 垂直伸缩 水平伸缩 定时伸缩 预测性伸缩 node autoscaling 垂直伸缩 水平伸缩 定时伸缩 数据监控 heapster metrics server st...
kubernetes 探针实战
FingerLiu
2019-12-23
阅读 6 分钟
5.3k
kubernetes 在 pod 的生命周期中引入探针机制来判断服务的健康状态。Liveness 探针顾名思义是用来探测服务的生存状态,如果 Liveness 探针连续失败次数超过设定的阈值,则 kubelet 会 kill 掉该 pod。 Readiness 探针用来判断服务是否准备好接收流量和负载,按照官方文档说明,Readiness 探针连续失败后,将从 service ...
拿 bash 写了个 webserver(带安全校验) ...
FingerLiu
2019-10-18
阅读 1 分钟
1.6k
有个增加机器后自动注册到 ansible hosts 的需求,闲来无事拿 bash 写了个 webserver 搞了下。在大佬指引下,还加了授权校验。。
Linux ctrl-c explained(ctrl-c 详解)
FingerLiu
2019-03-03
阅读 4 分钟
10.3k
目录 1 背景姿势 2 前戏 3 正餐 4 systemctl stop docker 5 demo 1 背景姿势 驱动 驱动程序全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。 中断 触发系统将运行时间由用户态程序交还给内核态的一种方式。 终端 终端 伪终端(pseudo terminal) -...
json to graphql schema: json2graphql
FingerLiu
2019-02-02
阅读 2 分钟
4.6k
GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。由于其强类型,返回结果可定制,自带聚合功能等特性,由 facebook 开源后,被 github 等各大厂广泛使用。
k8s 1.12.1 的坑和解决方法
FingerLiu
2018-11-14
阅读 2 分钟
16.5k
gcr.io 被墙,需要 pull 自己的镜像,然后改 tag。具体需要 pull 哪些镜像呢,kubeadm config images 可查看我自己 build 的都放到了 [链接] , 需要的话也可以直接用里面的脚本:
Linux cron 源码剖析
FingerLiu
2018-10-23
阅读 2 分钟
7.4k
BusyBox是一个遵循GPL协议、以自由软件形式发行的应用程序。Busybox在单一的可执行文件中提供了精简的Unix工具集,可运行于多款POSIX环境的操作系统,例如Linux(包括Android[6])、Hurd[7]、FreeBSD8等等。由于BusyBox可执行文件的文件大小比较小、并通常使用Linux内核,这使得它非常适合使用于嵌入式系统。作者将BusyB...
netcat 命令详解
FingerLiu
2018-10-09
阅读 5 分钟
14.8k
转载注明出处,原文在此 [链接]netcat 是一款调试 TCP/UDP 网络连接的利器,常被称作网络调试的瑞士军刀,可见其功能强大。netcat 在 Linux, Windows 等各大操作系统上都有对应等发行版,以下以 Linux(Ubuntu 16.04) 为例介绍其几个强大的用法。
云计算模型- 断路器模式
FingerLiu
2018-07-03
阅读 10 分钟
1.6k
在分布式环境中,对远端服务或资源的请求可能会由于诸如以下临时性错误而失败:缓慢的网络请求,连接超时,资源被过度使用,或服务临时不可用。通常情况下,这些错误能够在短暂的中断后自我修复。一个健壮的云端应用应该能够通过重试模式等策略来处理这些问题。
云计算模型 - 1. 概述
FingerLiu
2018-03-20
阅读 3 分钟
1.6k
这些设计模式对于在云上构建高可用性,伸缩性,安全的应用程序很有用。每个模式都描述了该模式试图解决的问题,在使用该模式时应考虑的问题,以及一个基于微软 Azure 云的例子。大多数的模式中包含了代码实例或代码片段来展示如何在 Azure 上部署使用这种模式。然而,大多数的模式同样适用于 Azure 以外的任何分布式系统。
去中心化类微博应用 mastodon
FingerLiu
2018-03-17
阅读 1 分钟
3.3k
所有人都知道 Twitter,微博 但是很少有人知道,最近一个分布式类 Twitter,微博 项目逐渐火了起来。项目的名字叫 Mastodon(乳齿象,化石记录的长鼻类哺乳动物),代码在 tootsuite/mastodon
# 2017总结
FingerLiu
2018-01-16
阅读 3 分钟
1.6k
2017总结 @(fingerliu 的笔记本)[总结] 有史以来最混乱的一年,工作生活的方方面面都有了很大变化和波动。开始愈发感受到中年危机的一年。 [TOC] 工作 达成 和团队一同摸索出了一套敏捷开发的方法论 kubernetes 使用及基本原理 精通了 flask 独立开发了支付平台 side project: 实现了某抢单软件 side project: 基于爬虫...
大学毕业,该去小公司,还是去大公司
FingerLiu
2018-01-11
阅读 1 分钟
2.1k
基本每个毕业生刚毕业时都会纠结一件事:进大公司还是小公司。经常会听到以下言论:大公司管理严格,不自由;大公司等级森严,每个人都是一颗螺丝钉;小公司锻炼人,能全面发展;小公司更“人性化”,更自由...
为什么看博客的时候里面的链接总是 404
FingerLiu
2017-12-18
阅读 1 分钟
2.7k
作为一个野路子程序员,看大牛的博客是学习,进步的很重要的一个信息来源。作为一个信息的汇聚点,博客中总会引用些其他的经典文章,或是某开源项官方文档中的重要部分。然而由于更新博客是很低频率的事件,所以随着时间推移,很可能发生的情况是:大牛引用的另一篇文章已经被删除,或者干脆域名到期,引用的博客关门大...
flask + wtform + google storage
FingerLiu
2017-10-25
阅读 2 分钟
2.1k
项目需要使用 flask 上传、下载文件到 google storage 上, 搜了一圈没有能直接结合 wtform 使用的插件,所以动手造了个轮子。 只实现了基本的上传,下载的功能,后续可能会完善预览、权限控制等功能。 安装和使用方法参见 README --> [链接] flask-wtf-storage extend flask-wtf to support saving data to google s...
Micro 架构与设计
FingerLiu
2017-05-18
阅读 7 分钟
5.4k
Micro 架构与设计 翻译自 Micro architecture & design patterns for microservices 注: 原文作者即 Micro 框架的开发者。 过去几个月中,我们收到了很多关于 micro 的微服务架构和设计模式的问题。所以今天我们试着解释一下这两方面的问题。 关于 Micro Micro 是一个微服务工具集。它被用来实现它的特性和接口,同...
由《失控》引发的对分布式系统的联想
FingerLiu
2017-05-07
阅读 2 分钟
2.1k
起因是帮一个申请留学的大学毕业学写研究计划,可能对自己以后有启发,所以记下来。只是研究计划的草稿,所以草草写完,没做深入调查。我写的草稿记录如下:
idea: 基于 http 的双向通信
FingerLiu
2017-05-01
阅读 1 分钟
3.2k
纯 http 上的双向通信 最近大概看了下 rxJava 的订阅者模式,然后突发奇想有没有可能用类似的思路实现纯 http 上的双向通信 A 是传统的 http 服务器 B 是普通的客户端,假设我们能够在 B 上启动一个简易的 http server 并且有办法实现公网访问 然后通过类似事件订阅的方式实现双向通信。 例: 要实现的功能:B 是美团外...
程序员的智囊库系列之2–网站框架(framework)
FingerLiu
2014-12-08
阅读 2 分钟
3.6k
django宣扬的是用更少的代码更快的做web app. django网站的开发符合mvc模型(model,view,controll) django有如下特性: - 通过使用data model,你将获得一套自带的操作数据库的API,你可以为每个数据库表建一个model,然后不用写SQL语句,你就可以通过API进行查询操作。 - 如果你使用django搭建你的网站,你将无需费力...
程序员的智囊库系列之3–分布式文件系统(Distributed file systems)
FingerLiu
2014-11-16
阅读 3 分钟
5.8k
时间:2014-11-16 作者:FingerLiu 这是程序员的智囊库系列的第三篇文章。上一篇文章本来打算介绍几个搭建网站的框架,但由于这部分的内容较多,还需要再整理一段时间,所以先放出这部分的第三篇文章。这一部分我们讲介绍分布式存储相关的一些知识,以及当下(2013-10-29)主流的分布式文件系统。由于有些NoSQL数据库也可...
程序员的智囊库系列之1--服务器与运维
FingerLiu
2014-11-05
阅读 3 分钟
4.5k
puppet是一种Linux、Unix平台的集中配置管理系统,它能够为你的设备定义状态信息,并使你的设备保持运行在正常的状态。简单来说,是一款实现运维自动化的工具。 - 它能够自动提取设备的配置信息,从而同一个工具可以在软件交付的各个阶段使用。 - 能够使不同团队的人协同工作 - 使人和计算机分别做自己擅长的东西。 无论...
程序员的智囊库系列之---序
FingerLiu
2014-11-05
阅读 1 分钟
3.1k
时间:2014-11-3 作者:FingerLiu 平时写程序,上网的过程中,总会有意识、无意识的学到各种各样的知识,接触到各种各样的工具。