synchronization
This commit is contained in:
63
部署文档/Rancher-K3s/K3s单机部署.md
Normal file
63
部署文档/Rancher-K3s/K3s单机部署.md
Normal file
@@ -0,0 +1,63 @@
|
||||
> 本文作者:丁辉
|
||||
|
||||
# K3s单机部署
|
||||
|
||||
[Github仓库](https://github.com/k3s-io/k3s/)
|
||||
|
||||
[中文官方文档](https://docs.k3s.io/zh/)
|
||||
|
||||
## 开始部署
|
||||
|
||||
[K3s基础环境准备官方文档](https://docs.k3s.io/zh/installation/requirements)
|
||||
|
||||
| 节点名称 | IP | 角色 |
|
||||
| :--------: | :----------: | :------------------: |
|
||||
| k3s-master | 192.168.1.10 | control-plane,master |
|
||||
|
||||
[所有变量参数解释](https://docs.k3s.io/zh/cli/server)
|
||||
|
||||
- 国外源
|
||||
|
||||
```bash
|
||||
curl -sfL https://get.k3s.io | \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_NODE_NAME=k3s-master \
|
||||
sh -
|
||||
```
|
||||
|
||||
- 国内源
|
||||
|
||||
```bash
|
||||
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
|
||||
K3S_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_NODE_NAME=k3s-master \
|
||||
sh -
|
||||
```
|
||||
|
||||
**参数解释**
|
||||
|
||||
| 参数 | 解释 |
|
||||
| :-------------------------: | :----------------------------------------------------------: |
|
||||
| INSTALL_K3S_MIRROR | 该参数用于指定 k3s 安装过程中下载软件包和镜像的镜像站点。 |
|
||||
| K3S_SYSTEM_DEFAULT_REGISTRY | 该参数用于指定 k3s 系统组件(如 kube-apiserver、kube-controller-manager 等)使用的默认镜像仓库地址。 |
|
||||
| K3S_KUBECONFIG_OUTPUT | 指定 K3s 安装完成后生成的 kubeconfig 文件的输出路径。在这个例子中,设置为 `~/.kube/config`,表示 kubeconfig 文件将保存在当前用户的主目录下的 `.kube` 目录中,文件名为 `config`。 |
|
||||
| K3S_KUBECONFIG_MODE | 指定生成的 kubeconfig 文件的权限模式。在这个例子中,设置为 `644`,表示生成的 kubeconfig 文件权限模式为 `-rw-r--r--`,即当前用户有读写权限,其他用户只有读权限。 |
|
||||
| K3S_NODE_NAME | 指定 K3s 安装节点的名称。在这个例子中,设置为 `k3s-master`,表示安装的节点将被命名为 `k3s-master`。 |
|
||||
|
||||
## 卸载
|
||||
|
||||
1. 停止
|
||||
|
||||
```bash
|
||||
k3s-killall.sh
|
||||
```
|
||||
|
||||
2. 卸载
|
||||
|
||||
```bash
|
||||
k3s-uninstall.sh
|
||||
```
|
||||
|
108
部署文档/Rancher-K3s/K3s单机部署指定容器运行时Docker.md
Normal file
108
部署文档/Rancher-K3s/K3s单机部署指定容器运行时Docker.md
Normal file
@@ -0,0 +1,108 @@
|
||||
> 本文作者:丁辉
|
||||
|
||||
# K3s单机部署指定容器运行时Docker
|
||||
|
||||
> K3s默认容器运行时为: Containerd, 本文教你如何使用 Docker 容器运行时
|
||||
|
||||
[官方文档](https://docs.k3s.io/zh/advanced#%E4%BD%BF%E7%94%A8-docker-%E4%BD%9C%E4%B8%BA%E5%AE%B9%E5%99%A8%E8%BF%90%E8%A1%8C%E6%97%B6)
|
||||
|
||||
## 部署Docker
|
||||
|
||||
1. Docker安装
|
||||
|
||||
```bash
|
||||
curl https://releases.rancher.com/install-docker/20.10.sh | sh
|
||||
```
|
||||
|
||||
> 传递参数使用国内源
|
||||
>
|
||||
> ```bash
|
||||
> curl -fsSL https://releases.rancher.com/install-docker/20.10.sh | sh -s -- --mirror Aliyun
|
||||
> ```
|
||||
|
||||
2. 启动 Docker
|
||||
|
||||
```bash
|
||||
systemctl enable docker
|
||||
systemctl start docker
|
||||
```
|
||||
|
||||
## 部署K3s
|
||||
|
||||
> 使用 `--docker` 参数指定 K3s 要使用的运行时
|
||||
|
||||
- 国外源
|
||||
|
||||
```bash
|
||||
curl -sfL https://get.k3s.io | \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_NODE_NAME=k3s-master \
|
||||
sh -s - --docker
|
||||
```
|
||||
|
||||
- 国内源
|
||||
|
||||
```bash
|
||||
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
|
||||
K3S_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_NODE_NAME=k3s-master \
|
||||
sh -s - --docker
|
||||
```
|
||||
|
||||
**参数解释**
|
||||
|
||||
| 参数 | 解释 |
|
||||
| :-------------------------: | :----------------------------------------------------------: |
|
||||
| INSTALL_K3S_MIRROR | 该参数用于指定 k3s 安装过程中下载软件包和镜像的镜像站点。 |
|
||||
| K3S_SYSTEM_DEFAULT_REGISTRY | 该参数用于指定 k3s 系统组件(如 kube-apiserver、kube-controller-manager 等)使用的默认镜像仓库地址。 |
|
||||
| K3S_KUBECONFIG_OUTPUT | 指定 K3s 安装完成后生成的 kubeconfig 文件的输出路径。在这个例子中,设置为 `~/.kube/config`,表示 kubeconfig 文件将保存在当前用户的主目录下的 `.kube` 目录中,文件名为 `config`。 |
|
||||
| K3S_KUBECONFIG_MODE | 指定生成的 kubeconfig 文件的权限模式。在这个例子中,设置为 `644`,表示生成的 kubeconfig 文件权限模式为 `-rw-r--r--`,即当前用户有读写权限,其他用户只有读权限。 |
|
||||
| K3S_NODE_NAME | 指定 K3s 安装节点的名称。在这个例子中,设置为 `k3s-master`,表示安装的节点将被命名为 `k3s-master`。 |
|
||||
|
||||
## 卸载
|
||||
|
||||
1. 停止 K3s
|
||||
|
||||
```bash
|
||||
k3s-killall.sh
|
||||
```
|
||||
|
||||
2. 卸载 K3s
|
||||
|
||||
```bash
|
||||
k3s-uninstall.sh
|
||||
```
|
||||
|
||||
3. 停止 Docker
|
||||
|
||||
```bash
|
||||
systemctl stop docker
|
||||
```
|
||||
|
||||
4. 卸载 Docker
|
||||
|
||||
- Centos
|
||||
|
||||
```bash
|
||||
yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras -y
|
||||
```
|
||||
|
||||
- Ubuntu
|
||||
|
||||
```bash
|
||||
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
|
||||
```
|
||||
|
||||
5. 删除 Docker 数据残留
|
||||
|
||||
```bash
|
||||
rm -rf /var/lib/docker
|
||||
rm -rf /var/lib/containerd
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
8
部署文档/Rancher-K3s/K3s自动部署清单.md
Normal file
8
部署文档/Rancher-K3s/K3s自动部署清单.md
Normal file
@@ -0,0 +1,8 @@
|
||||
> 本文作者:丁辉
|
||||
|
||||
# K3s自动部署清单
|
||||
|
||||
> 在 `/var/lib/rancher/k3s/server/manifests` 中找到的任何文件都会以类似 `kubectl apply` 的方式自动部署到 Kubernetes,在启动和在磁盘上更改文件时都是如此。从该目录中删除文件不会从集群中删除相应的资源。
|
||||
|
||||
[官方文档](https://docs.k3s.io/zh/installation/packaged-components)
|
||||
|
64
部署文档/Rancher-K3s/K3s部署禁用自带附加组件.md
Normal file
64
部署文档/Rancher-K3s/K3s部署禁用自带附加组件.md
Normal file
@@ -0,0 +1,64 @@
|
||||
> 本文作者:丁辉
|
||||
|
||||
# K3s部署禁用自带附加组件
|
||||
|
||||
[官方文档](https://docs.k3s.io/zh/installation/packaged-components)
|
||||
|
||||
**附加组件介绍**
|
||||
|
||||
| 可选项 | 描述 |
|
||||
| :------------: | :----------------------------------------------------------: |
|
||||
| coredns | 用于 Kubernetes 集群中 DNS 服务的核心组件。 |
|
||||
| servicelb | 提供了服务负载均衡的组件,用于在集群中分发流量。 |
|
||||
| traefik | 一个流行的反向代理和负载均衡工具,用于管理应用程序的入口流量。 |
|
||||
| local-storage | 本地存储提供了将本地磁盘挂载到 Kubernetes Pod 中的功能。 |
|
||||
| metrics-server | 用于收集和暴露 Kubernetes 集群中各种对象的度量数据的组件。 |
|
||||
|
||||
## 部署K3s
|
||||
|
||||
> 使用 `--disable` 禁用自带附加组件安装
|
||||
|
||||
- 国外源
|
||||
|
||||
```bash
|
||||
curl -sfL https://get.k3s.io | \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_NODE_NAME=k3s-master \
|
||||
sh -s - --disable traefik,metrics-server,local-storage,servicelb
|
||||
```
|
||||
|
||||
- 国内源
|
||||
|
||||
```bash
|
||||
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
|
||||
K3S_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_NODE_NAME=k3s-master \
|
||||
sh -s - --disable traefik,metrics-server,local-storage,servicelb
|
||||
```
|
||||
|
||||
**参数解释**
|
||||
|
||||
| 参数 | 解释 |
|
||||
| --------------------------- | ------------------------------------------------------------ |
|
||||
| INSTALL_K3S_MIRROR | 该参数用于指定 k3s 安装过程中下载软件包和镜像的镜像站点。 |
|
||||
| K3S_SYSTEM_DEFAULT_REGISTRY | 该参数用于指定 k3s 系统组件(如 kube-apiserver、kube-controller-manager 等)使用的默认镜像仓库地址。 |
|
||||
| K3S_KUBECONFIG_OUTPUT | 指定 K3s 安装完成后生成的 kubeconfig 文件的输出路径。在这个例子中,设置为 `~/.kube/config`,表示 kubeconfig 文件将保存在当前用户的主目录下的 `.kube` 目录中,文件名为 `config`。 |
|
||||
| K3S_KUBECONFIG_MODE | 指定生成的 kubeconfig 文件的权限模式。在这个例子中,设置为 `644`,表示生成的 kubeconfig 文件权限模式为 `-rw-r--r--`,即当前用户有读写权限,其他用户只有读权限。 |
|
||||
| K3S_NODE_NAME | 指定 K3s 安装节点的名称。在这个例子中,设置为 `k3s-master`,表示安装的节点将被命名为 `k3s-master`。 |
|
||||
|
||||
## 卸载
|
||||
|
||||
1. 停止
|
||||
|
||||
```bash
|
||||
k3s-killall.sh
|
||||
```
|
||||
|
||||
2. 卸载
|
||||
|
||||
```bash
|
||||
k3s-uninstall.sh
|
||||
```
|
184
部署文档/Rancher-K3s/K3s部署高可用集群.md
Normal file
184
部署文档/Rancher-K3s/K3s部署高可用集群.md
Normal file
@@ -0,0 +1,184 @@
|
||||
> 本文作者:丁辉
|
||||
|
||||
# K3s部署高可用集群
|
||||
|
||||
[Github仓库](https://github.com/k3s-io/k3s/)
|
||||
|
||||
[中文官方文档](https://docs.k3s.io/zh/)
|
||||
|
||||
[K3s基础环境准备官方文档](https://docs.k3s.io/zh/installation/requirements)
|
||||
|
||||
| 节点名称 | IP | 角色 |
|
||||
| :----------: | :----------: | :-----------------------: |
|
||||
| k3s-master-1 | 192.168.1.10 | control-plane,etcd,master |
|
||||
| k3s-master-2 | 192.168.1.20 | control-plane,etcd,master |
|
||||
| k3s-master-3 | 192.168.1.30 | control-plane,etcd,master |
|
||||
| k3s-worker-1 | 192.168.1.40 | worker |
|
||||
|
||||
> Master节点VIP: 192.168.1.100
|
||||
|
||||
[集群数据存储配置](https://docs.k3s.io/zh/datastore)
|
||||
|
||||
[高可用嵌入式 etcd](https://docs.k3s.io/zh/datastore/ha-embedded)
|
||||
|
||||
## 开始部署管理节点
|
||||
|
||||
[所有变量参数解释](https://docs.k3s.io/zh/cli/server)
|
||||
|
||||
[集群负载均衡器](https://docs.k3s.io/zh/datastore/cluster-loadbalancer)
|
||||
|
||||
- 国外源
|
||||
|
||||
```bash
|
||||
curl -sfL https://get.k3s.io | \
|
||||
K3S_NODE_NAME=k3s-master-1 \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_TOKEN=SECRET \
|
||||
INSTALL_K3S_EXEC="--node-taint k3s-controlplane=true:NoExecute" \
|
||||
sh -s - server \
|
||||
--cluster-init \
|
||||
--tls-san 192.168.1.100
|
||||
```
|
||||
|
||||
- 国内源
|
||||
|
||||
```bash
|
||||
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
|
||||
K3S_NODE_NAME=k3s-master-1 \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_TOKEN=SECRET \
|
||||
INSTALL_K3S_EXEC="--node-taint k3s-controlplane=true:NoExecute" \
|
||||
sh -s - server \
|
||||
--cluster-init \
|
||||
--tls-san 192.168.1.100
|
||||
```
|
||||
|
||||
>该参数用于指定 k3s 系统组件(如 kube-apiserver、kube-controller-manager 等)使用的默认镜像仓库地址。(阿里同步较慢有时会获取不到最新镜像)
|
||||
>
|
||||
>```bash
|
||||
>K3S_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com
|
||||
>```
|
||||
|
||||
**参数解释**
|
||||
|
||||
| 参数 | 解释 |
|
||||
| :----------------------------------------------------------: | :----------------------------------------------------------: |
|
||||
| K3S_NODE_NAME | 指定 K3s 安装节点的名称。在这个例子中,设置为 `k3s-master-1`,表示安装的节点将被命名为 `k3s-master-1`。 |
|
||||
| K3S_KUBECONFIG_OUTPUT | 指定 K3s 安装完成后生成的 kubeconfig 文件的输出路径。在这个例子中,设置为 `~/.kube/config`,表示 kubeconfig 文件将保存在当前用户的主目录下的 `.kube` 目录中,文件名为 `config`。 |
|
||||
| K3S_KUBECONFIG_MODE | 指定生成的 kubeconfig 文件的权限模式。在这个例子中,设置为 `644`,表示生成的 kubeconfig 文件权限模式为 `-rw-r--r--`,即当前用户有读写权限,其他用户只有读权限。 |
|
||||
| K3S_TOKEN | 配置共享 secret |
|
||||
| INSTALL_K3S_EXEC="--node-taint k3s-controlplane=true:NoExecute" | controlplane节点禁止调度 |
|
||||
| --cluster-init | 使用嵌入式 Etcd 初始化新集群 |
|
||||
| --tls-san | 在 TLS 证书上添加其他主机名或 IPv4/IPv6 地址作为 Subject Alternative Name |
|
||||
| INSTALL_K3S_MIRROR | 该参数用于指定 k3s 安装过程中下载软件包和镜像的镜像站点。 |
|
||||
|
||||
## 添加管理节点[2,3节点同理]
|
||||
|
||||
- 国外源
|
||||
|
||||
```bash
|
||||
curl -sfL https://get.k3s.io | \
|
||||
K3S_NODE_NAME=k3s-master-2 \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_TOKEN=SECRET \
|
||||
INSTALL_K3S_EXEC="--node-taint k3s-controlplane=true:NoExecute" \
|
||||
sh -s - server \
|
||||
--server https://192.168.1.100:6443 \
|
||||
--tls-san 192.168.1.100
|
||||
```
|
||||
|
||||
- 国内源
|
||||
|
||||
```bash
|
||||
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
|
||||
K3S_NODE_NAME=k3s-master-2 \
|
||||
K3S_KUBECONFIG_OUTPUT=~/.kube/config \
|
||||
K3S_KUBECONFIG_MODE=644 \
|
||||
K3S_TOKEN=SECRET \
|
||||
INSTALL_K3S_EXEC="--node-taint k3s-controlplane=true:NoExecute" \
|
||||
sh -s - server \
|
||||
--server https://192.168.1.100:6443 \
|
||||
--tls-san 192.168.1.100
|
||||
```
|
||||
|
||||
## 添加计算节点
|
||||
|
||||
> 在管理节点获取 ${node-token}
|
||||
>
|
||||
> ```bash
|
||||
> cat /var/lib/rancher/k3s/server/node-token
|
||||
> ```
|
||||
|
||||
- 国外源
|
||||
|
||||
```bash
|
||||
curl -sfL https://get.k3s.io | \
|
||||
K3S_NODE_NAME=k3s-worker-1 \
|
||||
K3S_URL=https://192.168.1.100:6443 \
|
||||
K3S_TOKEN=${node-token} \
|
||||
sh -s - agent
|
||||
```
|
||||
|
||||
- 国内源
|
||||
|
||||
```bash
|
||||
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
|
||||
K3S_NODE_NAME=k3s-worker-1 \
|
||||
K3S_URL=https://192.168.1.100:6443 \
|
||||
K3S_TOKEN=${node-token} \
|
||||
sh -s - agent
|
||||
```
|
||||
|
||||
**计算节点添加角色标签**
|
||||
|
||||
```bash
|
||||
kubectl label node ${node} node-role.kubernetes.io/worker=true --overwrite
|
||||
```
|
||||
|
||||
> `--overwrite` 强制覆盖
|
||||
|
||||
## 卸载
|
||||
|
||||
### 卸载 Server
|
||||
|
||||
1. 删除 Server 节点
|
||||
|
||||
```bash
|
||||
kubectl delete node ${node}
|
||||
```
|
||||
|
||||
2. 停止 Server
|
||||
|
||||
```bash
|
||||
k3s-killall.sh
|
||||
```
|
||||
|
||||
3. 卸载 Server
|
||||
|
||||
```bash
|
||||
k3s-uninstall.sh
|
||||
```
|
||||
|
||||
### 卸载 Agent
|
||||
|
||||
1. 删除 Agent 节点
|
||||
|
||||
```bash
|
||||
kubectl delete node ${node}
|
||||
```
|
||||
|
||||
2. 停止 K3s-Agent
|
||||
|
||||
```bash
|
||||
k3s-killall.sh
|
||||
```
|
||||
|
||||
3. 卸载 K3s-Agent
|
||||
|
||||
```bash
|
||||
k3s-agent-uninstall.sh
|
||||
```
|
||||
|
Reference in New Issue
Block a user