mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-10 11:54:37 +00:00
Fix and improve
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
# Kubernetes
|
||||
|
||||
`Kubernetes` 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统,它不仅支持常见的云平台,而且支持内部数据中心。
|
||||
`Kubernetes` 是 Google 发起的开源容器编排系统,它支持多种云平台与私有数据中心。
|
||||
|
||||
建于 Docker 之上的 `Kubernetes` 可以构建一个容器的调度服务,其目的是让用户透过 `Kubernetes` 集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。其核心概念是 `Container Pod`。一个 `Pod` 由一组工作于同一物理工作节点的容器构成。这些组容器拥有相同的网络命名空间、IP以及存储配额,也可以根据实际情况对每一个 `Pod` 进行端口映射。此外,`Kubernetes` 工作节点会由主系统进行管理,节点包含了能够运行 Docker 容器所用到的服务。
|
||||
`Kubernetes` 负责对容器工作负载进行调度与编排,其目的是让用户通过集群声明式地管理应用,而无需手动干预每个容器的生命周期细节。
|
||||
|
||||
Kubernetes 的最小调度单位是 `Pod`。一个 `Pod` 由一组紧密协作的容器构成,它们共享网络命名空间、IP 以及部分存储资源,也可以根据需要对 Pod 进行端口映射。
|
||||
|
||||
本章将分为 5 节介绍 `Kubernetes`,包括
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
基本概念 示意图如下:
|
||||
|
||||

|
||||

|
||||
|
||||
* 节点(`Node`):一个节点是一个运行 Kubernetes 中的主机。
|
||||
* 容器组(`Pod`):一个 Pod 对应于由若干容器组成的一个容器组,同个组内的容器共享一个存储卷(volume)。
|
||||
* 容器组生命周期(`pos-states`):包含所有容器状态集合,包括容器组状态类型,容器组生命周期,事件,重启策略,以及 replication controllers。
|
||||
* 容器组生命周期(`pod-states`):包含所有容器状态集合,包括容器组状态类型,容器组生命周期,事件,重启策略,以及 replication controllers。
|
||||
* Replication Controllers:主要负责指定数量的 pod 在同一时间一起运行。
|
||||
* 服务(`services`):一个 Kubernetes 服务是容器组逻辑的高级抽象,同时也对外提供访问容器组的策略。
|
||||
* 卷(`volumes`):一个卷就是一个目录,容器对其有访问权限。
|
||||
@@ -179,35 +179,28 @@ Kubernetes 校验节点可用依赖于 ID。在当前的版本中,有两个接
|
||||
|
||||
### Replication Controllers
|
||||
|
||||
> [!NOTE]
|
||||
> Replication Controller 保证指定数量的 Pod 副本在任何时候都处于运行状态。
|
||||
> 注:Replication Controller(RC)是早期的控制器类型,现代 Kubernetes 更推荐使用 ReplicaSet/Deployment。
|
||||
|
||||
### 服务
|
||||
|
||||
> [!NOTE]
|
||||
> 服务(Service)定义一组 Pod 的逻辑集合和访问它们的策略。
|
||||
> 注:服务(Service)定义一组 Pod 的逻辑集合和访问它们的策略。
|
||||
|
||||
### 卷
|
||||
|
||||
> [!NOTE]
|
||||
> 卷(Volume)包含可被 Pod 中容器访问的数据的目录。
|
||||
> 注:卷(Volume)包含可被 Pod 中容器访问的数据的目录。
|
||||
|
||||
### 标签
|
||||
|
||||
> [!NOTE]
|
||||
> 标签(Label)是附加到对象(如 Pods)上的键值对,用于组织和选择对象子集。
|
||||
> 注:标签(Label)是附加到对象(如 Pods)上的键值对,用于组织和选择对象子集。
|
||||
|
||||
### 接口权限
|
||||
|
||||
> [!NOTE]
|
||||
> 接口权限通过认证、授权和准入控制来保护 Kubernetes API 的访问。
|
||||
> 注:接口权限通过认证、授权和准入控制来保护 Kubernetes API 的访问。
|
||||
|
||||
### web界面
|
||||
|
||||
> [!NOTE]
|
||||
> Kubernetes Dashboard 是一个基于 Web 的用户界面,用于管理集群。
|
||||
> 注:Kubernetes Dashboard 是一个基于 Web 的用户界面,用于管理集群。
|
||||
|
||||
### 命令行操作
|
||||
|
||||
> [!NOTE]
|
||||
> kubectl 是 Kubernetes 的命令行工具,用于与集群进行交互。
|
||||
> 注:kubectl 是 Kubernetes 的命令行工具,用于与集群进行交互。
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
下面这张图完整展示了 Kubernetes 的运行原理。
|
||||
|
||||

|
||||

|
||||
|
||||
可见,Kubernetes 首先是一套分布式系统,由多个节点组成,节点分为两类:一类是属于管理平面的主节点/控制节点(Master Node);一类是属于运行平面的工作节点(Worker Node)。
|
||||
|
||||
@@ -48,4 +48,4 @@
|
||||
* kubelet 是工作节点执行操作的 agent,负责具体的容器生命周期管理,根据从数据库中获取的信息来管理容器,并上报 pod 运行状态等;
|
||||
* kube-proxy 是一个简单的网络访问代理,同时也是一个 Load Balancer。它负责将访问到某个服务的请求具体分配给工作节点上的 Pod(同一类标签)。
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Kubernetes 简介 示意图如下:
|
||||
|
||||

|
||||

|
||||
|
||||
### 什么是 Kubernetes
|
||||
|
||||
@@ -67,7 +67,7 @@ Kubernetes 的最小调度单位。一个 Pod 可以包含一个或多个紧密
|
||||
|
||||
### 架构
|
||||
|
||||
Kubernetes 也是 C/S 架构,由 **Master (控制平面)**和**Worker (工作节点)** 组成:
|
||||
Kubernetes 也是 C/S 架构,由 **Control Plane(控制平面)** 和 **Worker Node(工作节点)** 组成:
|
||||
|
||||
- **Control Plane**:负责决策(API Server, Scheduler, Controller Manager, etcd)
|
||||
- **Worker Node**:负责干活(Kubelet, Kube-proxy, Container Runtime)
|
||||
@@ -86,5 +86,5 @@ Kubernetes 的学习曲线较陡峭。建议的学习路径:
|
||||
|
||||
### 延伸阅读
|
||||
|
||||
- [Minikube 安装](../kubernetes/setup/README.md):本地体验 K8s
|
||||
- [Minikube 安装](../setup/README.md):本地体验 K8s
|
||||
- [Kubernetes 官网](https://kubernetes.io/):官方文档
|
||||
|
||||
Reference in New Issue
Block a user