Kubernetes 入门 – 第二部分
介绍
- Kubernetes 架构
- 主节点
- 接口服务器
- ETCD服务器
- Kube 调度器
- 控制器管理器
- 节点组件
- Kubelet
- Pods
- Overlay Network
- 主节点
Kubernetes 架构
正如我们现在已经看到了一些好处和历史,现在让我们了解 Kubernetes 的架构。
主节点
主节点称为控制平面,它还有 3 个东西,即 API 服务器、调度程序和控制器管理器。
接口服务器
这将启用所有通信 b/w API,我们将仅与 Kube API Server 对话。它接受请求并将其发送到其他服务。
我们可以使用 Kubectl CLI 来管理 Kubernetes 集群。
Kubectl 将请求发送到 API 服务器,然后 API 服务器响应。
ETCD服务器
Kube API Server 将所有信息存储在 Etcd 中,其他服务也将这些信息读取并存储在 Etcd 存储中。
如果我们有多个 Kubernetes master,那么我们可以设置多个 ETCD Server 集群在一起,同步所有数据。
它应该定期备份。
它将集群中所有内容的当前状态存储在 ETCD 服务器上。
Kube 调度器
它拿起容器并根据不同的因素将其放在正确的节点上。
控制器管理器
有不同类型的控制器,它们都是控制器管理器的一部分。
节点控制器负责检查节点的状态
节点组件
Kubelet 是代理,它会听取 master 的请求,并会完成所有繁重的工作。
假设它收到一个需要启动的请求,假设 X 没有 Pod。所以 Kubelet 将获取镜像,从镜像运行容器等。
Kubernetes 可以添加不同的附加组件,例如监控容器资源以在集群级别进行日志记录,或者我们可以使用 Splunk 等第三方工具。

现在让我们再次查看整个图表。
- 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 可以运行多个容器。
我们应该在不同的 pod 中运行假设 web 服务、数据库服务,而不是在同一个 pod 中。但是,我们可以在同一个 Pod 中运行一些辅助服务,例如日志记录服务。每个 pod 都会有一个 IP 地址。
容器运行实际的服务,如果它是一个 Web 服务,它将有一个端口。该端口将属于容器,而 pod 将具有 IP 地址。如果我们在一个 pod 中运行多个容器,它们都将具有相同的 IP 地址。
如果我们附加一个volume,那么所有在 pod 内运行的容器都会访问它。
Overlay Network
在这里,Kubernetes 集群中的每个 Pod 都可以相互通信。
Pod 从 Overlay 网络获取 IP 地址,这一切都是自动发生的。
总结
在本文中,我们详细了解了 Kubernetes 的架构。在下一篇文章中,我们将看到 Kubernetes 的设置。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!