mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-25 19:25:27 +00:00
Fix and update
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
## Kubernetes
|
||||
# Kubernetes
|
||||
|
||||
`Kubernetes` 是 Google 团队发起并维护的基于 Docker 的开源容器集群管理系统,它不仅支持常见的云平台,而且支持内部数据中心。
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Service 虽然提供了负载均衡,但通常是 4 层(TCP/UDP)。**Ingres
|
||||
|
||||
常见的 Ingress Controller有 Nginx Ingress Controller, Traefik, Istio Gateway 等。
|
||||
|
||||
### Persistent Volume (PV) 与 StorageClass
|
||||
### Persistent Volume(PV) 与 StorageClass
|
||||
|
||||
容器内的文件是临时的。对于有状态应用(如数据库),需要持久化存储。
|
||||
|
||||
@@ -28,7 +28,7 @@ Service 虽然提供了负载均衡,但通常是 4 层(TCP/UDP)。**Ingres
|
||||
* **PV (Persistent Volume)**:实际的存储资源(NFS, AWS EBS, Ceph 等)。
|
||||
* **StorageClass**:定义存储类,支持动态创建 PV。
|
||||
|
||||
### Horizontal Pod Autoscaling (HPA)
|
||||
### Horizontal Pod Autoscaling(HPA)
|
||||
|
||||
HPA 根据 CPU 利用率或其他指标(如内存、自定义指标)自动扩缩 Deployment 或 ReplicaSet 中的 Pod 数量。
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
## 基本概念
|
||||
|
||||
基本概念 示意图如下:
|
||||
|
||||

|
||||
|
||||
* 节点(`Node`):一个节点是一个运行 Kubernetes 中的主机。
|
||||
@@ -73,6 +75,8 @@ Kubernetes 校验节点可用依赖于 ID。在当前的版本中,有两个接
|
||||
|
||||
#### 容器组设计的初衷
|
||||
|
||||
容器组(Pod)的设计主要是为了解决应用间的紧密协作和资源共享问题。
|
||||
|
||||
#### 资源共享和通信
|
||||
|
||||
容器组主要是为了数据共享和它们之间的通信。
|
||||
@@ -175,14 +179,35 @@ Kubernetes 校验节点可用依赖于 ID。在当前的版本中,有两个接
|
||||
|
||||
### Replication Controllers
|
||||
|
||||
> [!NOTE]
|
||||
> Replication Controller 保证指定数量的 Pod 副本在任何时候都处于运行状态。
|
||||
|
||||
### 服务
|
||||
|
||||
> [!NOTE]
|
||||
> 服务(Service)定义一组 Pod 的逻辑集合和访问它们的策略。
|
||||
|
||||
### 卷
|
||||
|
||||
> [!NOTE]
|
||||
> 卷(Volume)包含可被 Pod 中容器访问的数据的目录。
|
||||
|
||||
### 标签
|
||||
|
||||
> [!NOTE]
|
||||
> 标签(Label)是附加到对象(如 Pods)上的键值对,用于组织和选择对象子集。
|
||||
|
||||
### 接口权限
|
||||
|
||||
> [!NOTE]
|
||||
> 接口权限通过认证、授权和准入控制来保护 Kubernetes API 的访问。
|
||||
|
||||
### web界面
|
||||
|
||||
> [!NOTE]
|
||||
> Kubernetes Dashboard 是一个基于 Web 的用户界面,用于管理集群。
|
||||
|
||||
### 命令行操作
|
||||
|
||||
> [!NOTE]
|
||||
> kubectl 是 Kubernetes 的命令行工具,用于与集群进行交互。
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
### 控制平面
|
||||
|
||||
控制平面(Control Plane)是 Kubernetes 集群的大脑,负责做出全局决策(如调度)以及检测和响应集群事件。
|
||||
|
||||
#### 主节点服务
|
||||
|
||||
主节点上需要提供如下的管理服务:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
## Kubernetes 简介
|
||||
|
||||
Kubernetes 简介 示意图如下:
|
||||
|
||||

|
||||
|
||||
### 什么是 Kubernetes
|
||||
@@ -28,19 +30,24 @@ Kubernetes 完美解决了这些问题。
|
||||
|
||||
### 核心概念
|
||||
|
||||
#### Pod (豆荚)
|
||||
#### Pod(豆荚)
|
||||
|
||||
Kubernetes 的最小调度单位。一个 Pod 可以包含一个或多个紧密协作的容器(共享网络和存储)。就像豌豆荚里的豌豆一样。
|
||||
|
||||
#### Node (节点)
|
||||
#### Node(节点)
|
||||
|
||||
运行 Pod 的物理机或虚拟机。
|
||||
|
||||
#### Deployment (部署)
|
||||
#### Deployment(部署)
|
||||
|
||||
定义应用的期望状态(如:需要 3 个副本,镜像版本为 v1)。K8s 会持续确保当前状态符合期望状态。
|
||||
|
||||
#### Service (服务)
|
||||
#### Service(服务)
|
||||
|
||||
定义一组 Pod 的访问策略。提供稳定的 Cluster IP 和 DNS 名称,负责负载均衡。
|
||||
|
||||
#### Namespace (命名空间)
|
||||
#### Namespace(命名空间)
|
||||
|
||||
用于多租户资源隔离。
|
||||
|
||||
---
|
||||
@@ -60,7 +67,7 @@ Kubernetes 的最小调度单位。一个 Pod 可以包含一个或多个紧密
|
||||
|
||||
### 架构
|
||||
|
||||
Kubernetes 也是 C/S 架构,由 **Master (控制平面)** 和 **Worker (工作节点)** 组成:
|
||||
Kubernetes 也是 C/S 架构,由 **Master (控制平面)**和**Worker (工作节点)** 组成:
|
||||
|
||||
- **Control Plane**:负责决策(API Server, Scheduler, Controller Manager, etcd)
|
||||
- **Worker Node**:负责干活(Kubelet, Kube-proxy, Container Runtime)
|
||||
|
||||
@@ -75,7 +75,7 @@ kubectl get svc nginx-service
|
||||
|
||||
如果输出端口是 `80:30080/TCP`,你可以通过 `http://<NodeIP>:30080` 访问 Nginx。
|
||||
|
||||
### 步骤 3:模拟滚动更新 (Rolling Update)
|
||||
### 步骤 3:模拟滚动更新(Rolling Update)
|
||||
|
||||
修改 `nginx-deployment.yaml`,将镜像版本改为 `nginx:latest`。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user