1. 跳绳感悟

      经过半年的坚持,腰带上最里面的那个扣眼终于又能发挥它该有的作用了,喜大普奔,喜极而泣ing。这周过了秤以后发现自己的体重重新回到了80kg大关,离最后的75 ~ 77kg的目标也指日可待。我从这半年堪称煎熬的日子中悟出了一个道理,那就是曾经吃过的汉堡炸鸡烤肉,喝过的肥宅快乐水,都是要还的 T _ T,要么变成汗水,要么变成脂肪,总之,老天不会让你白白享受这么美好的东西的(手动狗头)。

    Read More...


  2. K8s network之五:Kubernetes集群Pod和Service之间通信的实现原理

      Kubernetes集群内Pod之间默认可以无障碍的进行通信,但是通常情况下Pod是不稳定的,无法确定Pod会在何时因为何种原因被重启。当Pod重启后,其会得到一个新的IP地址。而且,如无特别指明,Pod有可能会在不同的节点之间被调度。当提供相同服务的Pod有多个时,就需要一个统一的对外地址来接收服务请求,并将请求以负载均衡的方式分发到Pod上。Kubernetes Service就是在这种背景下被引入的,Service是一种为一组提供相同服务的Pod提供单一不变的、简单透明的接入访问点的资源对象。Service的IP地址和端口在其整个生命周期不会改变,客户端可以通过服务IP:服务Port的方式发起服务请求,也可以直接访问服务名,由Kubernetes集群提供的DNS解析服务将请求分发到Service背后的Pod上。出于篇幅考虑,相关的yaml配置不会在文章中出现,特殊情况除外,相关的yaml配置可以参考Kubernetes官方文档。

    Read More...


  3. K8s network之四:Kubernetes集群通信的实现原理

      Kubernetes网络架构要求集群内的任意两个Pod之间可以在无需NAT的前提下进行通信。在集群中一共有四种Pod间通信的场景:Pod内容器之间相互通信、同一个节点内多个Pod之间相互通信、不同节点上的多个Pod之间相互通信以及Pod和Service之间的通信。其中,Pod和Service之间的通信过程分析请移步到《K8s network之五:Kubernetes集群Pod和Service之间通信的实现原理》,本文会着重分析多容器Pod内、同一节点上的Pod之间以及不同节点上的Pod之间的通信过程。出于篇幅考虑,相关的yaml配置不会在文章中出现,特殊情况除外,相关的yaml配置可以参考Kubernetes官方文档。

    Read More...


  4. K8s network之二:Kubernetes的域名解析、服务发现和外部访问

      在《K8s network之一:K8s网络模型与网络策略》中我们大概了解了Kubernetes的IP-Per-Pod模型和CNI接口规范,以及如何配置网络策略来限制出入Pod的流量。本篇会继续了解和学习Kubernetes集群如何向集群外提供服务访问以及服务之间如何相互发现这两个重要问题。出于篇幅考虑,相关的yaml配置不会在文章中出现,特殊情况除外,相关的yaml配置可以参考Kubernetes官方文档。

    Read More...


  5. K8s network之一:K8s网络模型与网络策略

      Kubernetes网络是Kubernetes得以正常工作的重要基础之一,这其中涉及到了包括但不限于IP地址划分、MAC地址学习、路由转发、服务发现、网络通信等诸多领域。借助于CNI接口及其实现产品,Kubernetes可以提供丰富的网络配置架构方案。关于Kubernetes网络,将会有一系列笔记,本篇是第一篇—关于Kubernetes网络模型和策略的初步学习,知其然,稍微知其所以然。出于篇幅考虑,相关的yaml配置不会在文章中出现,特殊情况除外,相关的yaml配置可以参考Kubernetes官方文档。

    Read More...


  6. IP子网划分方法简述

      在计算机网络中,IP协议(Internet Protocol,互联网络协议)是TCP/IP协议簇中的核心协议,该协议作用于网络层,要求计算机通过遵循一套相同的规则,从而实现计算机之间可以相互通信。在网络层中,数据以IP报文的形式存在,报文通过IP地址标识来源和目的主机。当前IP地址普遍遵循的是第四版互联网络协议(Internet Protocol version 4)也就是IPv4,在该版本协议中,一台主机的IP地址以点分十进制(Dotted Decimal Notation)方式表示,同时按照<网络地址/网络号>+<主机地址/主机号>的方式进行寻址。其中,网络地址(网络号)表示当前主机所在的网段,主机地址(主机号)表示当前主机在其所在网段中的唯一ID。

    Read More...


  7. 技术书籍


  8. PGP工作原理简述

      PGP(Pretty Good Privacy,中文翻译“优良保密协议”)是一个基于RSA体系、将公开密钥加密与传统密钥加密相结合的用于信息加密、验证的商业应用程序,由菲尔·齐默尔曼 (Philip R. Zimmermann) 于1991年开发完成并发布。自发布以来,PGP凭借其可以运行于多种操作系统平台、其加密算法得到普遍认可、具有广泛的应用场景等特性使得PGP的应用领域迅速扩大,同时使PGP自身也得到了更好的发展。

    Read More...


  9. Murmurhash初步学习

      Murmurhash是由Austin Appleby在2008年发明的一种非常简单的、不具有加密特性的散列函数,可以非常容易的应用在一般的基于散列的查找场景中。Murmurhash非常简单,在X86体系结构的机器上可以用少于52条指令完成所有的计算,由此带来的性能也是非常优秀的。此外,Murmurhash具有非常好的强混淆性(雪崩效应)和非常低的冲突风险。强混淆性指的是输入数据的微小改变,都会产生一个完全不同的散列值。Murmurhash的强混淆性使得通过Murmurhash计算得到的散列值具有非常的分布性。Murmurhash的当前版本是Murmurhash3,可以用来生成一个32位或128的散列值。如果生成结果是128位结果,那么在X86结构和X64结构上的计算结果是不一样的。本文以Murmurhash2为例进行讨论。

    Read More...


  10. I am Iron Man