本心、输入输出、结果
编辑:简简单单 Online zuozuo
地址:https://blog.csdn.net/qq_15071263
如果觉得本文对你有帮助,欢迎点赞、收藏、评论
我们使用视觉效果和简单术语来解释复杂的系统是如何运转的,帮助我们理解技术细节
我们使用视觉效果和简单术语来解释复杂的系统是如何运转的,帮助我们理解技术细节
DevOps作为一个概念是由Patrick Debois和Andrew Shafer在2009年的敏捷会议上提出的。他们试图通过促进协作文化和对整个软件开发生命周期的共同责任来弥合软件开发和运营之间的差距。
SRE 或站点可靠性工程由 Google 在 2000 年代初率先提出,旨在解决管理大规模复杂系统的运营挑战。谷歌开发了SRE实践和工具,如Borg集群管理系统和Monarch监控系统,以提高其服务的可靠性和效率。
平台工程是一个较新的概念,建立在 SRE 工程的基础上。平台工程的确切起源不太清楚,但它通常被理解为 DevOps 和 SRE 实践的扩展,重点是为产品开发提供支持整个业务视角的综合平台。
值得注意的是,虽然这些概念出现在不同的时间。它们都与提高软件开发和运营中的协作、自动化和效率的更广泛趋势有关。
K8s 是一个容器编排系统。它用于容器部署和管理。它的设计受到谷歌内部系统Borg的极大影响。
k8s 集群由一组运行容器化应用程序的工作计算机(称为节点)组成。每个集群至少有一个工作器节点。
工作节点托管作为应用程序工作负载组件的 Pod。控制平面管理集群中的工作节点和 Pod。在生产环境中,控制平面通常跨多台计算机运行,一个群集通常运行多个节点,提供容错和高可用性。
API Server : API 服务器与 k8s 集群中的所有组件通信。Pod 上的所有操作都是通过与 API 服务器通信来执行的。
Scheduler : 调度程序监视 Pod 工作负载,并在新创建的 Pod 上分配负载。
Controller Manager : 控制器管理器运行控制器,包括节点控制器、作业控制器、端点切片控制器和服务帐户控制器。
Etcd : etcd 是一个键值存储,用作 Kubernetes 所有集群数据的后备存储。
Pods : Pod 是一组容器,是 k8s 管理的最小单元。Pod 具有应用于 Pod 中的每个容器的单个 IP 地址。
Kubelet : 在集群中的每个节点上运行的代理。它确保容器在 Pod 中运行。
Kube Proxy : Kube-proxy 是在集群中的每个节点上运行的网络代理。它路由从服务进入节点的流量。它将工作请求转发到正确的容器。
Docker 是一个开源平台,允许您在隔离的容器中打包、分发和运行应用程序。它专注于容器化,提供封装应用程序及其依赖项的轻量级环境。
Kubernetes,通常被称为K8s,是一个开源的容器编排平台。它提供了一个框架,用于跨节点群集自动部署、扩展和管理容器化应用程序。
Docker:Docker 在单个操作系统主机上的单个容器级别运行。
您必须手动管理每个主机,并且为多个相关容器设置网络、安全策略和存储可能很复杂。
Kubernetes:Kubernetes 在集群级别运行。它管理跨多个主机的多个容器化应用程序,为负载平衡、扩展和确保应用程序所需状态等任务提供自动化。
Docker 专注于容器化和在单个主机上运行容器,而Kubernetes则专注于跨主机集群大规模管理和编排容器。
下图显示了Docker的架构以及当我们运行“docker build”,“docker pull”时它是如何工作的。 和“ docker run”。
Docker 架构中有 3 个组件:
让我们以“docker run”命令为例。