From e3e21e7a7da76ba6d105a2818f4fd066a109b876 Mon Sep 17 00:00:00 2001 From: yeasy Date: Mon, 30 Mar 2026 22:48:59 -0700 Subject: [PATCH] Refresh deployment guidance --- 11_compose/11.4_commands.md | 22 +++++++++------------- 14_kubernetes_setup/14.2_kubeadm-docker.md | 7 +++++-- 15_etcd/15.2_install.md | 9 ++++++--- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/11_compose/11.4_commands.md b/11_compose/11.4_commands.md index 3a8190b..a5812bc 100644 --- a/11_compose/11.4_commands.md +++ b/11_compose/11.4_commands.md @@ -224,28 +224,24 @@ $ docker compose run --no-deps web python manage.py shell #### `scale` -格式为 `docker compose scale [options] [SERVICE=NUM...]`。 +在当前 Compose CLI 中,更稳妥的扩缩容写法是通过 `docker compose up --scale` 完成。 -设置指定服务运行的容器个数。 - -通过 `service=num` 的参数来设置数量。例如: +例如: ```bash -$ docker compose scale web=3 db=2 +$ docker compose up -d --scale web=3 --scale db=2 ``` -将启动 3 个容器运行 web 服务,2 个容器运行 db 服务。 -> **提示**:部分版本的 Compose 可能不再提供独立的 `scale` 子命令 (或不推荐使用)。此时可使用 `docker compose up` 的 `--scale` 选项达到同样效果: -> -> ```bash -> $ docker compose up -d --scale web=3 --scale db=2 -> ``` +将启动 3 个容器运行 `web` 服务,2 个容器运行 `db` 服务。 + +> **说明**:有些旧环境或实验性入口中仍可能出现 `docker compose scale`,但它不应再被视为当前 Compose 的通用稳定默认命令。 一般的,当指定数目多于该服务当前实际运行容器,将新创建并启动容器;反之,将停止容器。 -选项: +常用搭配选项: -* `-t, --timeout TIMEOUT` 停止容器时候的超时 (默认为 10 秒)。 +* `-d` 后台启动。 +* `--scale SERVICE=NUM` 指定服务实例数量,可重复使用。 #### `start` diff --git a/14_kubernetes_setup/14.2_kubeadm-docker.md b/14_kubernetes_setup/14.2_kubeadm-docker.md index 6768427..2ce2738 100644 --- a/14_kubernetes_setup/14.2_kubeadm-docker.md +++ b/14_kubernetes_setup/14.2_kubeadm-docker.md @@ -32,6 +32,7 @@ $ sudo mv cri-dockerd/cri-dockerd /usr/local/bin/ $ wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.service $ wget https://raw.githubusercontent.com/Mirantis/cri-dockerd/master/packaging/systemd/cri-docker.socket +$ sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' cri-docker.service $ sudo mv cri-docker.service cri-docker.socket /etc/systemd/system/ ## 启动 cri-dockerd @@ -124,9 +125,11 @@ $ sudo modprobe overlay $ sudo modprobe br_netfilter ``` -#### 禁用 swap:必须 +#### swap 设置:现代集群仍建议优先关闭 -kubelet 默认要求禁用 swap,否则可能导致初始化失败或节点无法加入集群。 +在现代 Kubernetes 中,Linux 节点已经支持更细粒度的 swap 行为控制。对于多数 `kubeadm` 教学环境,**优先关闭 swap 仍然是最稳妥的默认做法**,因为这样最接近常见生产基线,也能避免不同发行版和 kubelet 配置差异带来的排障成本。 + +如果你明确要在启用 swap 的前提下运行节点,则应额外核对 kubelet 的 `NoSwap` / `LimitedSwap` 配置与当前 Kubernetes 版本文档,而不要把“开着 swap 也能跑”直接当作通用默认路径。 ```bash $ sudo swapoff -a diff --git a/15_etcd/15.2_install.md b/15_etcd/15.2_install.md index 4161bc8..0850e21 100644 --- a/15_etcd/15.2_install.md +++ b/15_etcd/15.2_install.md @@ -71,16 +71,19 @@ quay.io/coreos/etcd:v3.5.21 \ --name s1 \ --data-dir /etcd-data \ --listen-client-urls http://0.0.0.0:2379 \ ---advertise-client-urls http://0.0.0.0:2379 \ +--advertise-client-urls http://:2379 \ --listen-peer-urls http://0.0.0.0:2380 \ ---initial-advertise-peer-urls http://0.0.0.0:2380 \ ---initial-cluster s1=http://0.0.0.0:2380 \ +--initial-advertise-peer-urls http://:2380 \ +--initial-cluster s1=http://:2380 \ --initial-cluster-token tkn \ --initial-cluster-state new \ --log-level info \ --logger zap \ --log-outputs stderr ``` + +其中 `listen-*` 可以绑定 `0.0.0.0` 监听所有网卡,但 `advertise-*` 应填写其他节点或客户端**实际可访问的主机地址**,不能直接写成 `0.0.0.0`。 + 打开新的终端按照上一步的方法测试 `etcd` 是否成功启动。 ### 15.2.3 macOS 中运行