容器实现原理

Linux 内核的 NamespaceCgroups 可以让程序在一个资源可控的独立(隔离)环境中运行,这就是容器运行运用到的核心技术。

Read more

容器数据卷挂载实现

容器的启动运用到了 OverlayFS,而容器的数据持久化就需要用到数据卷,数据卷的实现就不是使用 OverlayFS 了,Docker 提供了四种挂载类型的实现:

  • Volume mounts
  • Bind mounts
  • tmpfs mounts
  • Named pipes
Read more

容器文件系统实现

容器的核心技术是由 Linux Namespace + Cgroups 实现的。而容器的文件系统是通过 Mount Namespace 实现。

Read more

容器网络实现

容器的网络是基于 Linux 的 网络命名空间(Network Namespace)虚拟网络设备(veth pair) 实现的。

Read more

MetalLB 使用随记

MetalLB 是使用标准路由协议(ARP/BGP)为 Bare Metal Kubernetes 集群实现的负载平衡器。

Read more

Elasticsearch 使用随记

部署 ECK Operator:

1
2
kubectl create -f https://download.elastic.co/downloads/eck/2.16.1/crds.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/2.16.1/operator.yaml
Read more

使用 Istio 实现应用迁移

背景:当前环境中有 Cluster A 和 Cluster B,各自部署了相同的应用,且该应用有两个域名用于处理不同的请求。目前,这两个域名的请求都由 Cluster A 中的应用处理。为进行应用迁移,现希望将域名 A 的请求继续由 Cluster A 处理,而域名 B 的请求则切换至由 Cluster B 中的应用来处理。

由于目前的流量处理都是由 Istio 负责,所以可以通过 ServiceEntry 来实现此需求。

Read more