Fix errors

This commit is contained in:
Baohua Yang
2026-02-16 18:45:40 -08:00
parent acc74f17bb
commit f68795f34c
6 changed files with 120 additions and 42 deletions

View File

@@ -2,6 +2,10 @@
`kubeadm` 提供了 `kubeadm init` 以及 `kubeadm join` 这两个命令作为快速创建 `kubernetes` 集群的最佳实践
> **重要说明** Kubernetes 1.24 内置 `dockershim` 已被移除Kubernetes 默认不再直接使用 Docker Engine 作为容器运行时CRI因此**更推荐参考**同目录下的[使用 kubeadm 部署 kubernetesCRI 使用 containerd](kubeadm.md)
>
> 本文档主要用于历史环境/学习目的如果你确实需要在较新版本中继续使用 Docker Engine通常需要额外部署 `cri-dockerd` 并在 `kubeadm init/join` 中指定 `--cri-socket`
### 安装 Docker
参考 [安装 Docker](../../03_install/README.md) 一节安装 Docker
@@ -15,15 +19,21 @@
运行以下命令
```bash
$ apt-get update && apt-get install -y apt-transport-https
$ curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
$ K8S_MINOR="v1.35"
$ cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
$ sudo apt-get update
$ sudo apt-get install -y ca-certificates curl gpg
$ apt-get update
$ apt-get install -y kubelet kubeadm kubectl
$ sudo install -m 0755 -d /etc/apt/keyrings
$ curl -fsSL "https://pkgs.k8s.io/core:/stable:/${K8S_MINOR}/deb/Release.key" | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
$ sudo chmod a+r /etc/apt/keyrings/kubernetes-apt-keyring.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/${K8S_MINOR}/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install -y kubelet kubeadm kubectl
$ sudo apt-mark hold kubelet kubeadm kubectl
```
#### CentOS/Fedora
@@ -31,14 +41,16 @@ $ apt-get install -y kubelet kubeadm kubectl
运行以下命令
```bash
$ K8S_MINOR="v1.35"
$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
baseurl=https://pkgs.k8s.io/core:/stable:/${K8S_MINOR}/rpm/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
gpgkey=https://pkgs.k8s.io/core:/stable:/${K8S_MINOR}/rpm/repodata/repomd.xml.key
EOF
$ sudo yum install -y kubelet kubeadm kubectl
@@ -46,6 +58,30 @@ $ sudo yum install -y kubelet kubeadm kubectl
### 修改内核的运行参数
#### 加载内核模块
运行以下命令
```bash
$ cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
$ sudo modprobe overlay
$ sudo modprobe br_netfilter
```
#### 禁用 swap必须
kubelet 默认要求禁用 swap否则可能导致初始化失败或节点无法加入集群
```bash
$ sudo swapoff -a
## 如需永久禁用,可在 /etc/fstab 中注释 swap 对应行
```
运行以下命令
```bash
@@ -185,7 +221,7 @@ $ kubectl get node -o yaml | grep CIDR
```
```bash
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.11.0/Documentation/kube-flannel.yml
$ kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.26.1/Documentation/kube-flannel.yml
```
### master 节点默认不能运行 pod
@@ -195,6 +231,9 @@ $ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.11.0/Docu
```bash
$ kubectl taint nodes --all node-role.kubernetes.io/master-
## 部分较新版本使用 control-plane taint
## $ kubectl taint nodes --all node-role.kubernetes.io/control-plane-
## 恢复默认值
## $ kubectl taint nodes NODE_NAME node-role.kubernetes.io/master=true:NoSchedule