mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 04:14:38 +00:00
Fix errors
This commit is contained in:
@@ -2,6 +2,10 @@
|
||||
|
||||
`kubeadm` 提供了 `kubeadm init` 以及 `kubeadm join` 这两个命令作为快速创建 `kubernetes` 集群的最佳实践。
|
||||
|
||||
> ⚠️ **重要说明**:自 Kubernetes 1.24 起,内置 `dockershim` 已被移除,Kubernetes 默认不再直接使用 Docker Engine 作为容器运行时(CRI)。因此,**更推荐参考**同目录下的《[使用 kubeadm 部署 kubernetes(CRI 使用 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
|
||||
|
||||
Reference in New Issue
Block a user