mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 12:21:17 +00:00
style(docs): standardize heading formats and numbering
- Enforce Level 1-3 structural numbering based on SUMMARY.md hierarchy - Remove structural numbering from Level 4+ headings - Eliminate single child headings by converting to bold text - Auto-inject summary text for headings with multiple children missing intro text - Exclude Appendix chapters from structural numbering - Avoid modifying code block contents - Add script to detect non-standard English usage in headers
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
## Kubernetes Dashboard
|
||||
## 13.7 Kubernetes Dashboard
|
||||
|
||||
[Kubernetes Dashboard](https://github.com/kubernetes/dashboard) 是基于网页的 Kubernetes 用户界面。
|
||||
|
||||

|
||||
|
||||
### 部署
|
||||
### 13.7.1 部署
|
||||
|
||||
执行以下命令即可部署 Dashboard:
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
|
||||
```
|
||||
|
||||
### 访问
|
||||
### 13.7.2 访问
|
||||
|
||||
通过命令行代理访问,执行以下命令:
|
||||
|
||||
@@ -22,7 +22,7 @@ $ kubectl proxy
|
||||
|
||||
到 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 即可访问。
|
||||
|
||||
### 登录
|
||||
### 13.7.3 登录
|
||||
|
||||
目前,Dashboard 仅支持使用 Bearer 令牌登录。下面教大家如何创建该令牌:
|
||||
|
||||
@@ -40,6 +40,6 @@ echo ${DASHBOARD_LOGIN_TOKEN}
|
||||
|
||||
将结果粘贴到登录页面,即可登录。
|
||||
|
||||
### 参考文档
|
||||
### 13.7.4 参考文档
|
||||
|
||||
* [官方文档](https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## Docker Desktop 启用 Kubernetes
|
||||
## 13.3 Docker Desktop 启用 Kubernetes
|
||||
|
||||
使用 Docker Desktop 可以很方便的启用 Kubernetes。
|
||||
|
||||
### 启用 Kubernetes
|
||||
### 13.3.1 启用 Kubernetes
|
||||
|
||||
在 Docker Desktop 设置页面,点击 `Kubernetes`,选择 `Enable Kubernetes`,稍等片刻,看到左下方 `Kubernetes` 变为 `running`,Kubernetes 启动成功。
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
> 注意:Kubernetes 的镜像存储在 `registry.k8s.io`,如果国内网络无法直接访问,可以在 Docker Desktop 配置中的 `Docker Engine` 处配置镜像加速器,或者利用国内云服务商的镜像仓库手动拉取镜像并 retag。
|
||||
|
||||
### 测试
|
||||
### 13.3.2 测试
|
||||
|
||||
运行以下命令:
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
## K3s - 轻量级 Kubernetes
|
||||
## 13.5 K3s - 轻量级 Kubernetes
|
||||
|
||||
[K3s](https://k3s.io/) 是一个轻量级的 Kubernetes 发行版,由 Rancher Labs 开发。它专为边缘计算、物联网、CI、ARM 等资源受限的环境设计。K3s 被打包为单个二进制文件,只有不到 100MB,但通过了 CNCF 的一致性测试。
|
||||
|
||||
### 核心特性
|
||||
### 13.5.1 核心特性
|
||||
|
||||
* **轻量级**:移除过时的、非必须的 Kubernetes 功能 (如传统的云提供商插件),使用 SQLite 作为默认数据存储 (也支持 Etcd/MySQL/Postgres)。
|
||||
* **单一二进制**:所有组件 (API Server,Controller Manager,Scheduler,Kubelet,Kube-proxy) 打包在一个进程中运行。
|
||||
* **开箱即用**:内置 Helm Controller、Traefik Ingress controller、ServiceLB、Local-Path-Provisioner。
|
||||
* **安全**:默认启用安全配置,基于 TLS 通信。
|
||||
|
||||
### 安装
|
||||
### 13.5.2 安装
|
||||
|
||||
K3s 的安装非常简单,官方提供了便捷的安装脚本。
|
||||
|
||||
@@ -37,7 +37,7 @@ NAME STATUS ROLES AGE VERSION
|
||||
k3s-master Ready control-plane,master 1m v1.35.1+k3s1
|
||||
```
|
||||
|
||||
### 快速使用
|
||||
### 13.5.3 快速使用
|
||||
|
||||
K3s 内置了 `kubectl` 命令 (通过 `k3s kubectl` 调用),为了方便,通常会建立别名或配置 `KUBECONFIG`。
|
||||
|
||||
@@ -51,7 +51,7 @@ export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
||||
kubectl get pods -A
|
||||
```
|
||||
|
||||
### 清理卸载
|
||||
### 13.5.4 清理卸载
|
||||
|
||||
运行以下命令:
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## Kind - Kubernetes IN Docker
|
||||
## 13.4 Kind - Kubernetes IN Docker
|
||||
|
||||
[Kind](https://kind.sigs.k8s.io/) (Kubernetes in Docker) 是一个使用 Docker 容器作为节点运行本地 Kubernetes 集群的工具。主要用于测试 Kubernetes 本身,也非常适合本地开发和 CI 环境。
|
||||
|
||||
### 为什么选择 Kind
|
||||
### 13.4.1 为什么选择 Kind
|
||||
|
||||
Kind 相比其他本地集群方案 (如 Minikube) 有以下显著优势:
|
||||
|
||||
@@ -11,7 +11,7 @@ Kind 相比其他本地集群方案 (如 Minikube) 有以下显著优势:
|
||||
* **多版本支持**:支持指定 Kubernetes 版本进行测试。
|
||||
* **HA 支持**:支持模拟高可用集群 (多 Control Plane)。
|
||||
|
||||
### 安装 Kind
|
||||
### 13.4.2 安装 Kind
|
||||
|
||||
Kind 是一个二进制文件,并在 PATH 中即可使用。以下是不同系统的安装方法。
|
||||
|
||||
@@ -35,7 +35,7 @@ chmod +x ./kind
|
||||
sudo mv ./kind /usr/local/bin/kind
|
||||
```
|
||||
|
||||
### 创建集群
|
||||
### 13.4.3 创建集群
|
||||
|
||||
最简单的创建方式:
|
||||
|
||||
@@ -49,7 +49,7 @@ kind create cluster
|
||||
kind create cluster --name my-cluster
|
||||
```
|
||||
|
||||
### 与集群交互
|
||||
### 13.4.4 与集群交互
|
||||
|
||||
Kind 会自动将 kubeconfig 合并到 `~/.kube/config`。
|
||||
|
||||
@@ -58,7 +58,7 @@ kubectl cluster-info --context kind-kind
|
||||
kubectl get nodes
|
||||
```
|
||||
|
||||
### 高级用法:配置集群
|
||||
### 13.4.5 高级用法:配置集群
|
||||
|
||||
创建一个 `kind-config.yaml` 来定制集群,例如映射端口到宿主机:
|
||||
|
||||
@@ -81,7 +81,7 @@ nodes:
|
||||
kind create cluster --config kind-config.yaml
|
||||
```
|
||||
|
||||
### 删除集群
|
||||
### 13.4.6 删除集群
|
||||
|
||||
运行以下命令:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
## 使用 kubeadm 部署 Kubernetes (使用 Docker)
|
||||
## 13.2 使用 kubeadm 部署 Kubernetes (使用 Docker)
|
||||
|
||||
`kubeadm` 提供了 `kubeadm init` 以及 `kubeadm join` 这两个命令,作为快速创建 `Kubernetes` 集群的最佳实践。
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
>
|
||||
> 本文档主要用于历史环境/学习目的:如果你确实需要在较新版本中继续使用 Docker Engine,通常需要额外部署 `cri-dockerd` 并在 `kubeadm init/join` 中指定 `--cri-socket`。
|
||||
|
||||
### 安装 Docker
|
||||
### 13.2.1 安装 Docker
|
||||
|
||||
参考[安装 Docker](../../03_install/README.md) 一节安装 Docker。
|
||||
|
||||
### 安装 **kubelet****kubeadm****kubectl**
|
||||
### 13.2.2 安装 **kubelet****kubeadm****kubectl**
|
||||
|
||||
需要在每台机器上安装以下的软件包:
|
||||
|
||||
@@ -56,7 +56,7 @@ EOF
|
||||
$ sudo yum install -y kubelet kubeadm kubectl
|
||||
```
|
||||
|
||||
### 修改内核的运行参数
|
||||
### 13.2.3 修改内核的运行参数
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
@@ -99,7 +99,7 @@ EOF
|
||||
$ sysctl --system
|
||||
```
|
||||
|
||||
### 配置 kubelet
|
||||
### 13.2.4 配置 kubelet
|
||||
|
||||
为了让 kubelet 正确运行,我们需要对其进行一些必要的配置。
|
||||
|
||||
@@ -127,7 +127,7 @@ ExecStartPre=-/sbin/modprobe ip_vs_sh
|
||||
$ sudo systemctl daemon-reload
|
||||
```
|
||||
|
||||
### 部署
|
||||
### 13.2.5 部署
|
||||
|
||||
安装配置完成后,我们将分别在 Master 节点和 Worker 节点上进行部署操作。
|
||||
|
||||
@@ -182,7 +182,7 @@ $ kubeadm join 192.168.199.100:6443 --token cz81zt.orsy9gm9v649e5lf \
|
||||
--discovery-token-ca-cert-hash sha256:5edb316fd0d8ea2792cba15cdf1c899a366f147aa03cba52d4e5c5884ad836fe
|
||||
```
|
||||
|
||||
### 查看服务
|
||||
### 13.2.6 查看服务
|
||||
|
||||
所有服务启动后,查看本地实际运行的 Docker 容器。这些服务大概分为三类:主节点服务、工作节点服务和其它服务。
|
||||
|
||||
@@ -202,7 +202,7 @@ $ kubeadm join 192.168.199.100:6443 --token cz81zt.orsy9gm9v649e5lf \
|
||||
|
||||
* Etcd 是所有状态的存储数据库;
|
||||
|
||||
### 使用
|
||||
### 13.2.7 使用
|
||||
|
||||
将 `/etc/kubernetes/admin.conf` 复制到 `~/.kube/config`
|
||||
|
||||
@@ -210,7 +210,7 @@ $ kubeadm join 192.168.199.100:6443 --token cz81zt.orsy9gm9v649e5lf \
|
||||
|
||||
由于未部署 CNI 插件,CoreDNS 未正常启动。如何使用 Kubernetes,请参考后续章节。
|
||||
|
||||
### 部署 CNI
|
||||
### 13.2.8 部署 CNI
|
||||
|
||||
这里以 `flannel` 为例进行介绍。
|
||||
|
||||
@@ -235,7 +235,7 @@ $ kubectl get node -o yaml | grep CIDR
|
||||
$ kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.26.1/Documentation/kube-flannel.yml
|
||||
```
|
||||
|
||||
### master 节点默认不能运行 pod
|
||||
### 13.2.9 master 节点默认不能运行 pod
|
||||
|
||||
如果用 `kubeadm` 部署一个单节点集群,默认情况下无法使用,请执行以下命令解除限制
|
||||
|
||||
@@ -253,6 +253,6 @@ $ kubectl taint nodes --all node-role.kubernetes.io/master-
|
||||
...
|
||||
```
|
||||
|
||||
### 参考文档
|
||||
### 13.2.10 参考文档
|
||||
|
||||
* [官方文档](https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
## 使用 kubeadm 部署 Kubernetes (CRI 使用 containerd)
|
||||
## 13.1 使用 kubeadm 部署 Kubernetes (CRI 使用 containerd)
|
||||
|
||||
`kubeadm` 提供了 `kubeadm init` 以及 `kubeadm join` 这两个命令,作为快速创建 `Kubernetes` 集群的最佳实践。
|
||||
|
||||
> **版本说明**:Kubernetes 版本更新较快 (约每 4 个月一个新版本),本文档基于 Kubernetes 1.35 编写。请访问 [Kubernetes 官方发布页](https://kubernetes.io/releases/)获取最新版本信息。
|
||||
|
||||
### 安装 containerd
|
||||
### 13.1.1 安装 containerd
|
||||
|
||||
参考[安装 Docker](../../03_install/README.md) 一节添加 apt/yum 源,之后执行如下命令。
|
||||
|
||||
@@ -18,7 +18,7 @@ $ sudo apt install containerd.io
|
||||
$ sudo yum install containerd.io
|
||||
```
|
||||
|
||||
### 配置 containerd
|
||||
### 13.1.2 配置 containerd
|
||||
|
||||
新建 `/etc/systemd/system/cri-containerd.service` 文件
|
||||
|
||||
@@ -228,7 +228,7 @@ oom_score = 0
|
||||
async_remove = false
|
||||
```
|
||||
|
||||
### 安装 **kubelet****kubeadm****kubectl****cri-tools****kubernetes-cni**
|
||||
### 13.1.3 安装 **kubelet****kubeadm****kubectl****cri-tools****kubernetes-cni**
|
||||
|
||||
需要在每台机器上安装以下的软件包:
|
||||
|
||||
@@ -274,7 +274,7 @@ EOF
|
||||
$ sudo yum install -y kubelet kubeadm kubectl cri-tools kubernetes-cni
|
||||
```
|
||||
|
||||
### 修改内核的运行参数
|
||||
### 13.1.4 修改内核的运行参数
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
@@ -317,7 +317,7 @@ EOF
|
||||
$ sysctl --system
|
||||
```
|
||||
|
||||
### 配置 kubelet
|
||||
### 13.1.5 配置 kubelet
|
||||
|
||||
为了让 kubelet 正确运行,我们需要对其进行一些必要的配置。
|
||||
|
||||
@@ -345,7 +345,7 @@ ExecStartPre=-/sbin/modprobe ip_vs_sh
|
||||
$ sudo systemctl daemon-reload
|
||||
```
|
||||
|
||||
### 部署
|
||||
### 13.1.6 部署
|
||||
|
||||
安装配置完成后,我们将分别在 Master 节点和 Worker 节点上进行部署操作。
|
||||
|
||||
@@ -412,7 +412,7 @@ $ kubeadm join 192.168.199.100:6443 \
|
||||
--cri-socket /run/cri-containerd/cri-containerd.sock
|
||||
```
|
||||
|
||||
### 查看服务
|
||||
### 13.1.7 查看服务
|
||||
|
||||
所有服务启动后,通过 `crictl` 查看本地实际运行的容器。这些服务大概分为三类:主节点服务、工作节点服务和其它服务。
|
||||
|
||||
@@ -436,7 +436,7 @@ CONTAINER_RUNTIME_ENDPOINT=/run/cri-containerd/cri-containerd.sock crictl ps -a
|
||||
|
||||
* Etcd 是所有状态的存储数据库;
|
||||
|
||||
### 使用
|
||||
### 13.1.8 使用
|
||||
|
||||
将 `/etc/kubernetes/admin.conf` 复制到 `~/.kube/config`
|
||||
|
||||
@@ -444,7 +444,7 @@ CONTAINER_RUNTIME_ENDPOINT=/run/cri-containerd/cri-containerd.sock crictl ps -a
|
||||
|
||||
由于未部署 CNI 插件,CoreDNS 未正常启动。如何使用 Kubernetes,请参考后续章节。
|
||||
|
||||
### 部署 CNI
|
||||
### 13.1.9 部署 CNI
|
||||
|
||||
这里以 `flannel` 为例进行介绍。
|
||||
|
||||
@@ -469,7 +469,7 @@ $ kubectl get node -o yaml | grep CIDR
|
||||
$ kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.26.1/Documentation/kube-flannel.yml
|
||||
```
|
||||
|
||||
### master 节点默认不能运行 pod
|
||||
### 13.1.10 master 节点默认不能运行 pod
|
||||
|
||||
如果用 `kubeadm` 部署一个单节点集群,默认情况下无法使用,请执行以下命令解除限制
|
||||
|
||||
@@ -487,7 +487,7 @@ $ kubectl taint nodes --all node-role.kubernetes.io/master-
|
||||
...
|
||||
```
|
||||
|
||||
### 参考文档
|
||||
### 13.1.11 参考文档
|
||||
|
||||
* [官方文档](https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)
|
||||
* [Container runtimes](https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd)
|
||||
|
||||
@@ -8,74 +8,74 @@ kubectl [flags]
|
||||
kubectl [command]
|
||||
```
|
||||
|
||||
## get
|
||||
## 13.8 get
|
||||
|
||||
显示一个或多个资源
|
||||
|
||||
## describe
|
||||
## 13.8 describe
|
||||
|
||||
显示资源详情
|
||||
|
||||
## create
|
||||
## 13.8 create
|
||||
|
||||
从文件或标准输入创建资源
|
||||
|
||||
## update
|
||||
## 13.8 update
|
||||
|
||||
从文件或标准输入更新资源
|
||||
|
||||
## delete
|
||||
## 13.8 delete
|
||||
|
||||
通过文件名、标准输入、资源名或者 label selector 删除资源
|
||||
|
||||
## logs
|
||||
## 13.8 logs
|
||||
|
||||
输出 pod 中一个容器的日志
|
||||
|
||||
## rollout
|
||||
## 13.8 rollout
|
||||
|
||||
对 Deployment 等资源执行滚动更新/回滚
|
||||
|
||||
## exec
|
||||
## 13.8 exec
|
||||
|
||||
在容器内部执行命令
|
||||
|
||||
## port-forward
|
||||
## 13.8 port-forward
|
||||
|
||||
将本地端口转发到 Pod
|
||||
|
||||
## proxy
|
||||
## 13.8 proxy
|
||||
|
||||
为 Kubernetes API server 启动代理服务器
|
||||
|
||||
## run
|
||||
## 13.8 run
|
||||
|
||||
在集群中使用指定镜像启动容器
|
||||
|
||||
## expose
|
||||
## 13.8 expose
|
||||
|
||||
将 replication controller service 或 pod 暴露为新的 Kubernetes service
|
||||
|
||||
## label
|
||||
## 13.8 label
|
||||
|
||||
更新资源的 label
|
||||
|
||||
## config
|
||||
## 13.8 config
|
||||
|
||||
修改 Kubernetes 配置文件
|
||||
|
||||
## cluster-info
|
||||
## 13.8 cluster-info
|
||||
|
||||
显示集群信息
|
||||
|
||||
## api-versions
|
||||
## 13.8 api-versions
|
||||
|
||||
以 “组/版本” 的格式输出服务端支持的 API 版本
|
||||
|
||||
## version
|
||||
## 13.8 version
|
||||
|
||||
输出服务端和客户端的版本信息
|
||||
|
||||
## help
|
||||
## 13.8 help
|
||||
|
||||
显示各个命令的帮助信息
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
## 一步步部署 Kubernetes 集群
|
||||
## 13.6 一步步部署 Kubernetes 集群
|
||||
|
||||
可以参考 [opsnull/follow-me-install-kubernetes-cluster](https://github.com/opsnull/follow-me-install-kubernetes-cluster) 项目一步步部署 Kubernetes 集群。
|
||||
|
||||
Reference in New Issue
Block a user