技术调查:lb与ingress与service mesh与云原生与k8s
- 总之你可以把服务网格作为 OSI 模型中的会话层。也就是L5。
- 我们将在云原生应用程序中考虑弹性的两个主要方面:为失败设计和优雅降级。
- 知道应用程序可能失败的每种方式是不可能的。假设任何事情都可能并且可能会失败,这是一种云原生应用程序的模式。
- 云原生是关于不需要人类做出决定的自治系统。它仍然使用自动化,但只有在决定了所需的操作之后。只有在系统不能自动确定正确的事情时才应该通知人。
- Kubernetes 运行在节点 (node) 上,节点是集群中的单个机器。如果你有自己的硬件,节点可能对应于物理机器,但更可能对应于在云中运行的虚拟机。
- Sidecar 是一种常见的容器设计模式,Kubernetes 的工作负载 Pod 内可配置多个容器,业务容器之外的其他所有容器均可称为“边车容器”(Sidecar container)。如日志收集 Sidecar、请求代理 Sidecar 和链路追踪 Sidecar 等等。
为什么需要k8s
https://jimmysong.io/kubernetes-handbook/cloud-native/quick-start.html (就看这一页)
POD是什么
Kubernetes 中的逻辑而非物理的工作单位称为 pod。一个 pod 类似于 Docker 中的容器。记得我们在前面讲到,容器可以让你创建独立、隔离的工作单元,可以独立运行。但是要创建复杂的应用程序,比如 Web 服务器,你经常需要结合多个容器,然后在一个 pod 中一起运行和管理。这就是 pod 的设计目的 —— 一个 pod 允许你把多个容器,并指定它们如何组合在一起来创建应用程序。而这也进一步明确了 Docker 和 Kubernetes 之间的关系 —— 一个 Kubernetes pod 通常包含一个或多个 Docker 容器,所有的容器都作为一个单元来管理。
在 Kubernetes 中,与“进程组”对应的设计概念是 Pod。Pod 是一组紧密关联的容器集合,它们共享 IPC、Network 和 UTS 等命名空间,是 Kubernetes 管理的最基本单位。
容器之间原本通过命名空间和 cgroups 进行隔离,Pod 的设计目标是打破这种隔离,使 Pod 内的容器能够像进程组一样共享资源和数据。为实现这一点,Kubernetes 引入了一个特殊容器 —— Infra Container。
Infra Container 是 Pod 内第一个启动的容器,体积非常小(约 300 KB)。它主要负责为 Pod 内的容器申请共享的 UTS、IPC 和网络等命名空间。Pod 内的其他容器通过 setns(Linux 系统调用,用于将进程加入指定命名空间)来共享 Infra Container 的命名空间。此外,Infra Container 也可以作为 init 进程,管理子进程和回收资源。
[译] 现代网络负载均衡与代理导论(2017)
https://arthurchiao.art/blog/intro-to-modern-lb-and-proxy-zh/
Introduction to modern network load balancing and proxying
https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236
envoy功能介绍
https://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-92520b6c8191
ServiceMesh
https://www.thebyte.com.cn/ServiceMesh/summary.html
云原生APP 12因素
https://12factor.net/
https://jimmysong.io/kubernetes-handbook/cloud-native/from-kubernetes-to-cloud-native.html
云原生
“用更恰当的姿势上云”
https://jimmysong.io/kubernetes-handbook/cloud-native/cloud-native-definition.html
*** https://www.thebyte.com.cn/architecture/history.html

k8s
docker: 最核心的两个问题“如何运行软件和如何发布软件”
https://jimmysong.io/book/kubernetes-handbook/architecture/
DevOps
敏捷宣言与十二原则:https://www.scrum.cn/scrum-knowledge-library/agilevalues
development + operations
啥文档也赶不上官方文档
https://kubernetes.io/zh-cn/docs/tasks/tools/
所有可用的云原生负载均衡
https://jimmysong.io/awesome-cloud-native/



浙公网安备 33010602011771号