当前位置:网站首页 > 容器化与Kubernetes > 正文

什么是 k8s(Kubernetes)?Docker 与 Kubernetes选择哪一个?

什么是 k8s(Kubernetes)?

K8s是一个容器编排系统。它用于容器部署和管理。其设计很大程度上受到Google内部系统Borg的影响。

k8s 集群由一组称为节点的工作机器组成,它们运行容器化应用程序。每个集群至少有一个工作节点。

工作节点托管作为应用程序工作负载组件的 Pod。控制平面管理集群中的工作节点和 Pod。在生产环境中,控制平面通常跨多台计算机运行,集群通常运行多个节点,提供容错和高可用性。

  • Control Plane 组件
  1. API Server

API Server与 k8s 集群中的所有组件进行通信。Pod 上的所有操作都是通过与 API 服务器通信来执行的。

  1. Scheduler

Scheduler监视 Pod 工作负载并在新创建的 Pod 上分配负载。

  1. Controller Manager

Controller Manager运行控制器,包括节点控制器、作业控制器、EndpointSlice 控制器和 ServiceAccount 控制器。

  1. Etcd

etcd 是一个键值存储,用作 Kubernetes 所有集群数据的后备存储。

  • Nodes节点
  1. Pods

Pod 是一组容器,是 k8s 管理的最小单元。Pod 具有应用于 Pod 内每个容器的单个 IP 地址。

  1. Kubelet

在集群中的每个节点上运行的代理。它确保容器在 Pod 中运行。

  1. Kube Proxy

Kube-proxy 是一个在集群中每个节点上运行的网络代理。它将从服务进入节点的流量路由。它将工作请求转发到正确的容器。

Docker 与 Kubernetes。我们应该使用哪一个?

什么是 Docker?

Docker 是一个开源平台,允许您在隔离的容器中打包、分发和运行应用程序。它专注于容器化,提供封装应用程序及其依赖项的轻量级环境。

什么是 Kubernetes?

Kubernetes,通常称为 K8s,是一个开源容器编排平台。它提供了一个框架,用于跨节点集群自动部署、扩展和管理容器化应用程序。

两者有何不同?

Docker:Docker 在单个操作系统主机上的单个容器级别上运行。

必须手动管理每个主机,并且为多个相关容器设置网络、安全策略和存储可能很复杂。

Kubernetes:Kubernetes 在集群级别运行。它管理跨多个主机的多个容器化应用程序,为负载平衡、扩展和确保应用程序的所需状态等任务提供自动化。

简而言之,Docker 专注于容器化和在单个主机上运行容器,而 Kubernetes 专注于跨主机集群大规模管理和编排容器。

Docker 是如何工作的?

下图显示了 Docker 的架构以及当我们运行“docker build”、“docker pull”和“docker run”时它是如何工作的。

Docker 架构中有 3 个组件:

  • Docker client

Docker 客户端与 Docker 守护进程对话。

  • Docker host

Docker 守护进程侦听 Docker API 请求并管理 Docker 对象,例如映像、容器、网络和卷。

  • Docker registry

Docker 注册表存储 Docker 镜像。Docker Hub 是一个任何人都可以使用的公共注册表。

我们以“docker run”命令为例。

  1. Docker 从注册表中提取镜像。
  2. Docker 创建一个新容器。
  3. Docker 为容器分配一个读写文件系统。
  4. Docker 创建一个网络接口来将容器连接到默认网络。
  5. Docker 启动容器。
到此这篇什么是 k8s(Kubernetes)?Docker 与 Kubernetes选择哪一个?的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 从容器的发展历史理解容器的本质2024-10-30 22:03:16
  • 为什么要虚拟化,为什么要容器,为什么要Docker,为什么要K8S?2024-10-30 22:03:16
  • k8s和docker区别(4大核心区别详解)2024-10-30 22:03:16
  • 容器化 | 谈谈 K8S 部署那些事(Kubernetes-k8s)2024-10-30 22:03:16
  • 容器化技术的演进:从Docker到Kubernetes2024-10-30 22:03:16
  • 一文玩转Docker和K8S架构和实践_k8s和dockerswarm2024-10-30 22:03:16
  • K8S与Docker的区别2024-10-30 22:03:16
  • 容器化技术的演进:从Docker到Kubernetes2024-10-30 22:03:16
  • 容器化 | 谈谈 K8S 部署那些事(Kubernetes-k8s)2024-10-30 22:03:16
  • k8s和docker区别(4大核心区别详解)2024-10-30 22:03:16
  • 全屏图片