随笔分类 - kubernetes
摘要:数据竞争和竞态条件 Go并发中有两个重要的概念:数据竞争(data race)和竞争条件(race condition)。在并发程序中,竞争问题可能是程序面临的最难也是最不容易发现的错误之一。 当有两个或多个协程同时访问同一个内存地址,并且至少有一个是写时,就会发生数据竞争,它造成的影响就是读取变量
阅读全文
摘要:CRI容器运行时 我们知道 Kubernetes 提供了一个 CRI 的容器运行时接口,那么这个 CRI 到底是什么呢?这个其实也和 Docker 的发展密切相关的。 在 Kubernetes 早期的时候,当时 Docker 实在是太火了,Kubernetes 当然会先选择支持 Docker,而且是
阅读全文
摘要:服务网格现状 服务网格为服务提供了复杂的应用层网络管理,如服务发现、流量路由、弹性(超时/重试/断路)、认证/授权、可观察性(日志/度量/追踪)等。 在分布式应用的早期,这些要求是通过直接将所需的逻辑嵌入到应用中来解决的,比如spring cloud等微服务框架。服务网格将这些功能从应用程序中提取出
阅读全文
摘要:kube-proxy模式详解 kubernetes里kube-proxy支持三种模式,在v1.8之前我们使用的是iptables 以及 userspace两种模式,在kubernetes 1.8之后引入了ipvs模式,并且在v1.11中正式使用,其中iptables和ipvs都是内核态也就是基于ne
阅读全文
摘要:1、问题背景 之前项目需要一个边缘集群场景下的镜像缓存功能,但随之而来的问题是: 由于边缘节点网络带宽资源有限,加上云边网络的不稳定性,当边缘节点频繁拉取云端镜像文件时会占用大量的网络带宽,这样会阻碍其他网络应用程序的运行,比如此时我们的交互式SSH会话可能会变得异常迟钝以至于无法使用。因此我们需要
阅读全文
摘要:CNI网络模型 随着容器技术在企业生产系统中的逐步落地,跨主机容器间的网络互通已经成为基本要求,更高的要求包括容器固定IP地址、一个容器多个IP地址、多个子网隔离、ACL控制策略、与SDN集成等。目前主流的容器网络模型主要有Docker公司提出的Container Network Model(CNM
阅读全文
摘要:声明式API vs 命令时API 计算机系统是分层的,也就是下层做一些支持的工作,暴露接口给上层用。注意:语言的本质是一种接口。 计算机的最下层是CPU指令,其本质就是用“变量定义+顺序执行+分支判断+循环”所表达的逻辑过程。计算机应用的最上层是实现人类社会的某种功能。所以所有计算机编码的过程,就是
阅读全文
摘要:k8s自定义controller设计与实现 创建CRD 登录可以执行kubectl命令的机器,创建student.yaml apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: # meta
阅读全文
摘要:🌟Kubernetes网络模型 kubernetes网络模型设计的一个基础原则就是:每个Pod拥有一个独立IP地址,这个模型也被称为IP-per-Pod模型,并假定所有Pod都在一个可以直接连通的、扁平的网络空间中。所以不管他们是否运行在同一个Node中,都要求他们可以直接通过对方的IP进行访问。
阅读全文