Kubernetes 入门 – 第二部分

作者 : 慕源网 本文共1814个字,预计阅读时间需要5分钟 发布时间: 2021-11-8 共147人阅读

介绍

在上一部分Kubernetes 入门第 1 部分中,我们了解了 Kubernetes。在本文中,我们将学习 Kubernetes 的架构。本文将涵盖以下主题:
  • Kubernetes 架构
    • 主节点
      • 接口服务器
      • ETCD服务器
      • Kube 调度器
    • 控制器管理器
      • 节点组件
      • Kubelet
      • Pods
    • Overlay Network

Kubernetes 架构

正如我们现在已经看到了一些好处和历史,现在让我们了解 Kubernetes 的架构。

Kubernetes 入门 - 第二部分

主节点

主节点称为控制平面,它还有 3 个东西,即 API 服务器、调度程序和控制器管理器。

接口服务器

这将启用所有通信 b/w API,我们将仅与 Kube API Server 对话。它接受请求并将其发送到其他服务。

我们可以使用 Kubectl CLI 来管理 Kubernetes 集群。

Kubectl 将请求发送到 API 服务器,然后 API 服务器响应。

Kubernetes 入门 - 第二部分

ETCD服务器

Kube API Server 将所有信息存储在 Etcd 中,其他服务也将这些信息读取并存储在 Etcd 存储中

如果我们有多个 Kubernetes master,那么我们可以设置多个 ETCD Server 集群在一起,同步所有数据。

它应该定期备份。

它将集群中所有内容的当前状态存储在 ETCD 服务器上。

Kubernetes 入门 - 第二部分

Kube 调度器

它拿起容器并根据不同的因素将其放在正确的节点上。

Kubernetes 入门 - 第二部分

控制器管理器

有不同类型的控制器,它们都是控制器管理器的一部分。

Kubernetes 入门 - 第二部分

节点控制器负责检查节点的状态

节点组件

有3个节点组件:

Kubernetes 入门 - 第二部分

Kubelet 是代理,它会听取 master 的请求,并会完成所有繁重的工作。

假设它收到一个需要启动的请求,假设 X 没有 Pod。所以 Kubelet 将获取镜像,从镜像运行容器等。

Kubernetes 可以添加不同的附加组件,例如监控容器资源以在集群级别进行日志记录,或者我们可以使用 Splunk 等第三方工具。

Kubernetes 入门 - 第二部分

现在让我们再次查看整个图表。

Kubernetes 入门 - 第二部分

  • Kubectl 将请求发送到 API 服务器。
  • API server 将信息存储在 Etcd 存储中。
  • 调度器将获取此类信息,如果该信息类似于 Create pod/container,它将根据算法找到正确的节点并识别工作节点,然后将信息发送到该节点上的 Kubelet。
  • Kubelet 将接收信息并执行诸如拉取镜像、运行容器、分配端口等操作。

如果我们说我们需要 4 个 pod 或这个容器的复制,那么这个请求会发送到控制器管理器,控制器管理器会监视/管理它,并确保在工作节点内创建 4 个 pod。

Pods

到目前为止,我们是直接运行容器的。在 Kubernetes 中,我们有 Pod,我们不直接运行容器。我们总是创建 Pod 并管理 Pod。这是 Kubernetes 集群中最小的实体。一个 Pod 可以包含 1 个或多个容器。

我们可以让一个 Pod 运行 Web 服务、数据库服务,或者这个 Pod 可以运行多个容器。

Kubernetes 入门 - 第二部分

我们应该在不同的 pod 中运行假设 web 服务、数据库服务,而不是在同一个 pod 中。但是,我们可以在同一个 Pod 中运行一些辅助服务,例如日志记录服务。每个 pod 都会有一个 IP 地址。

容器运行实际的服务,如果它是一个 Web 服务,它将有一个端口。该端口将属于容器,而 pod 将具有 IP 地址。如果我们在一个 pod 中运行多个容器,它们都将具有相同的 IP 地址。

如果我们附加一个volume,那么所有在 pod 内运行的容器都会访问它。

Kubernetes 入门 - 第二部分

有时我们在单个 Pod 中运行多个容器,例如 Node 2。
在这里,我们可以看到我们有一个 Init 容器(它可能类似于克隆 git repo),然后我们有实际运行服务的主容器(Web 服务器),我们有一个 sidecar 容器,它可以是一个日志记录或监控服务。
有时人们错误地将多个主进程(容器)放在一个 pod 中,这实际上是可行的但不推荐。

Overlay Network

现在,在我们实际启动或设置 Kubernetes 集群之前,让我们了解一下 Overlay 网络。
在这里,我们有多个 docker 引擎和工作节点协同工作。集群中分布着多个 Pod。
假设我们有一个 3 节点的 Kubernetes 集群。现在让我们看看它们是如何交互的。当我们设置 Kubernetes 时,默认情况下会启用此通信或 Overlay 网络。

Kubernetes 入门 - 第二部分

在这里,Kubernetes 集群中的每个 Pod 都可以相互通信。

Pod 从 Overlay 网络获取 IP 地址,这一切都是自动发生的。

总结

在本文中,我们详细了解了 Kubernetes 的架构。在下一篇文章中,我们将看到 Kubernetes 的设置。

我希望你觉得这篇文章有帮助。请继续关注更多……

慕源网 » Kubernetes 入门 – 第二部分

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录