mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-26 03:35:31 +00:00
Fix and update
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
## 使用 kubeadm 部署 kubernetes(CRI 使用 containerd)
|
||||
## 使用 kubeadm 部署 kubernetes(CRI 使用 containerd)
|
||||
|
||||
`kubeadm` 提供了 `kubeadm init` 以及 `kubeadm join` 这两个命令作为快速创建 `kubernetes` 集群的最佳实践。
|
||||
|
||||
@@ -10,9 +10,11 @@
|
||||
|
||||
```bash
|
||||
## debian 系
|
||||
|
||||
$ sudo apt install containerd.io
|
||||
|
||||
## rhel 系
|
||||
|
||||
$ sudo yum install containerd.io
|
||||
```
|
||||
|
||||
@@ -36,12 +38,16 @@ KillMode=process
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
## Having non-zero Limit*s causes performance problems due to accounting overhead
|
||||
|
||||
## in the kernel. We recommend using cgroups to do container-local accounting.
|
||||
|
||||
LimitNPROC=infinity
|
||||
LimitCORE=infinity
|
||||
LimitNOFILE=infinity
|
||||
## Comment TasksMax if your systemd version does not supports it.
|
||||
|
||||
## Only systemd 226 and above support this version.
|
||||
|
||||
TasksMax=infinity
|
||||
OOMScoreAdjust=-999
|
||||
|
||||
@@ -54,13 +60,16 @@ WantedBy=multi-user.target
|
||||
```toml
|
||||
version = 2
|
||||
## persistent data location
|
||||
|
||||
root = "/var/lib/cri-containerd"
|
||||
## runtime state information
|
||||
|
||||
state = "/run/cri-containerd"
|
||||
plugin_dir = ""
|
||||
disabled_plugins = []
|
||||
required_plugins = []
|
||||
## set containerd's OOM score
|
||||
|
||||
oom_score = 0
|
||||
|
||||
[grpc]
|
||||
@@ -203,8 +212,12 @@ oom_score = 0
|
||||
|
||||
### 安装 **kubelet** **kubeadm** **kubectl** **cri-tools** **kubernetes-cni**
|
||||
|
||||
需要在每台机器上安装以下的软件包:
|
||||
|
||||
#### Ubuntu/Debian
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```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 -
|
||||
@@ -219,6 +232,8 @@ $ apt-get install -y kubelet kubeadm kubectl
|
||||
|
||||
#### CentOS/Fedora
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
|
||||
[kubernetes]
|
||||
@@ -235,6 +250,8 @@ $ sudo yum install -y kubelet kubeadm kubectl
|
||||
|
||||
### 修改内核的运行参数
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
|
||||
net.bridge.bridge-nf-call-iptables = 1
|
||||
@@ -243,17 +260,21 @@ net.bridge.bridge-nf-call-ip6tables = 1
|
||||
EOF
|
||||
|
||||
## 应用配置
|
||||
|
||||
$ sysctl --system
|
||||
```
|
||||
|
||||
### 配置 kubelet
|
||||
|
||||
为了让 kubelet 正确运行,我们需要对其进行一些必要的配置。
|
||||
|
||||
#### 修改 `kubelet.service`
|
||||
|
||||
`/etc/systemd/system/kubelet.service.d/10-proxy-ipvs.conf` 写入以下内容
|
||||
|
||||
```bash
|
||||
## 启用 ipvs 相关内核模块
|
||||
|
||||
[Service]
|
||||
ExecStartPre=-/sbin/modprobe ip_vs
|
||||
ExecStartPre=-/sbin/modprobe ip_vs_rr
|
||||
@@ -269,8 +290,12 @@ $ sudo systemctl daemon-reload
|
||||
|
||||
### 部署
|
||||
|
||||
安装配置完成后,我们将分别在 Master 节点和 Worker 节点上进行部署操作。
|
||||
|
||||
#### master
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
$ systemctl enable cri-containerd
|
||||
|
||||
@@ -317,7 +342,7 @@ kubeadm join 192.168.199.100:6443 --token cz81zt.orsy9gm9v649e5lf \
|
||||
|
||||
#### node 工作节点
|
||||
|
||||
在 **另一主机** 重复 **部署** 小节以前的步骤,安装配置好 kubelet。根据提示,加入到集群。
|
||||
在 **另一主机**重复**部署** 小节以前的步骤,安装配置好 kubelet。根据提示,加入到集群。
|
||||
|
||||
```bash
|
||||
$ systemctl enable cri-containerd
|
||||
@@ -374,6 +399,7 @@ CONTAINER_RUNTIME_ENDPOINT=/run/cri-containerd/cri-containerd.sock crictl ps -a
|
||||
$ kubectl get node -o yaml | grep CIDR
|
||||
|
||||
## 输出
|
||||
|
||||
podCIDR: 10.244.0.0/16
|
||||
podCIDRs:
|
||||
```
|
||||
@@ -390,7 +416,11 @@ $ kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.26.1/
|
||||
$ kubectl taint nodes --all node-role.kubernetes.io/master-
|
||||
|
||||
## 恢复默认值
|
||||
|
||||
## $ kubectl taint nodes NODE_NAME node-role.kubernetes.io/master=true:NoSchedule
|
||||
|
||||
具体内容如下:
|
||||
|
||||
```
|
||||
|
||||
### 参考文档
|
||||
|
||||
Reference in New Issue
Block a user