feat(README): update README
这个提交包含在:
+46
-12
@@ -1,20 +1,25 @@
|
||||
## 安装方法
|
||||
|
||||
需要在每个节点上执行以下命令 节点系统需求 debian 11+ ubuntu 20.04+
|
||||
|
||||
### 替换hostname
|
||||
|
||||
hostname为最终的节点名称 方便后期管理
|
||||
|
||||
```shell
|
||||
export HOSTNAME=YOU_SHOULD_MODIFY_THIS_HOSTNAME
|
||||
hostnamectl set-hostname $HOSTNAME && reboot
|
||||
```
|
||||
|
||||
### 安装tailscale 构建集群节点网络层
|
||||
|
||||
如果是单机集群 可以不安装 但考虑到集群扩展性 此处推荐安装
|
||||
安装后请到tailscale官网申请一个auth key (免费服务)
|
||||
|
||||
然后后续的节点安装时需要将config.yaml中的 `YOU_SHOULD_MODIFY_THIS_JOIN_KEY` 替换为你申请的auth key
|
||||
|
||||
优势:
|
||||
|
||||
- 通过tailscale构建集群网络层 可以夸不同的云服务商进行组网 甚至是与内网环境下的服务器进行组网 (家里云启动~)
|
||||
- tailscale的网络层是基于wireguard的 速度快、延迟低 可以动态路由不同的节点流量
|
||||
|
||||
@@ -22,28 +27,35 @@ hostnamectl set-hostname $HOSTNAME && reboot
|
||||
curl -fsSL https://tailscale.com/install.sh | sh
|
||||
```
|
||||
|
||||
### 开启ip转发
|
||||
tailscale 需要开启ip转发
|
||||
|
||||
```shell
|
||||
echo 'net.ipv4.ip_forward = 1' | tee -a /etc/sysctl.d/99-tailscale.conf
|
||||
echo 'net.ipv6.conf.all.forwarding = 1' | tee -a /etc/sysctl.d/99-tailscale.conf
|
||||
sysctl -p /etc/sysctl.d/99-tailscale.conf
|
||||
```
|
||||
|
||||
### 新建目录 将不同节点类型的config写入
|
||||
### k3s 节点配置
|
||||
|
||||
将不同节点类型的config写入节点 以供后续安装k3s使用
|
||||
|
||||
采用config.yaml的方式进行配置(非环境变量) 使集群配置能够进行git版本控制
|
||||
|
||||
master-init.config.yaml 是第一个master节点的配置
|
||||
master.config.yaml 是master从节点的配置
|
||||
agent.config.yaml 是agent节点的配置
|
||||
master.config.yaml 是master从节点的配置 (单节点不需要)
|
||||
agent.config.yaml 是agent节点的配置 (单节点不需要)
|
||||
|
||||
如果是单机集群 只需要将master-init.config.yaml中的内容写入到config.yaml中即可
|
||||
|
||||
将上述文件中的内容写入到此处
|
||||
根据节点类型, 将上述文件中的内容写入到此处
|
||||
|
||||
```shell
|
||||
mkdir -p /etc/rancher/k3s && vim /etc/rancher/k3s/config.yaml
|
||||
```
|
||||
|
||||
### 安装k3s 此处注意安装类型 是server 还是 agent
|
||||
### 安装k3s
|
||||
|
||||
此处注意安装类型 是server 还是 agent
|
||||
如果是agent节点 请将最后的server替换为agent
|
||||
|
||||
```shell
|
||||
curl -sfL https://get.k3s.io | \
|
||||
INSTALL_K3S_VERSION=v1.32.3+k3s1 \
|
||||
@@ -52,7 +64,8 @@ curl -sfL https://get.k3s.io | \
|
||||
|
||||
### 国内安装加速
|
||||
|
||||
如果服务器在国内 请使用国内的安装脚本
|
||||
如果服务器在国内 请使用国内的安装脚本 速度会快很多
|
||||
|
||||
```shell
|
||||
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
|
||||
INSTALL_K3S_VERSION=v1.32.3+k3s1 \
|
||||
@@ -61,18 +74,30 @@ curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
|
||||
```
|
||||
|
||||
### 镜像加速地址
|
||||
|
||||
如果服务器在国内 请将registries.yaml文件内容写入到此处
|
||||
以免后安装的镜像拉取失败
|
||||
|
||||
```shell
|
||||
vim /etc/rancher/k3s/registries.yaml
|
||||
```
|
||||
|
||||
### 查看serverToken
|
||||
如果后续安装从节点 或者工作节点 需要将master.config.yaml中的token替换为此处的token
|
||||
|
||||
如果后续安装从节点或者工作节点 需要将master.config.yaml中的token替换为此处的token
|
||||
以便从节点以及工作节点能够加入到集群中
|
||||
|
||||
```shell
|
||||
cat /var/lib/rancher/k3s/server/node-token
|
||||
```
|
||||
|
||||
### 查看api server config 需要替换到.kube/config中 注意将其中的server地址替换为高可用地址
|
||||
### 查看api server config
|
||||
|
||||
以供本地连接到集群, 进行集群管理.
|
||||
将下命令的输出,替换到本地的~/.kube/config中.
|
||||
|
||||
注意将其中的输出中的server地址替换master节点的ip地址或者域名
|
||||
|
||||
```shell
|
||||
cat /etc/rancher/k3s/k3s.yaml
|
||||
```
|
||||
@@ -80,18 +105,27 @@ cat /etc/rancher/k3s/k3s.yaml
|
||||
## 以下为集群安装后的优化操作 可以选择性的执行
|
||||
|
||||
### 给node添加地域标签
|
||||
|
||||
可优化不同地域的节点之间的流量
|
||||
|
||||
```shell
|
||||
kubectl label nodes tca topology.kubernetes.io/region=cn-sh
|
||||
kubectl label nodes tca svccontroller.k3s.cattle.io/enablelb="true"
|
||||
```
|
||||
|
||||
### 给master节点添加污点
|
||||
|
||||
如果你不想让master节点上运行pod, 可以添加污点.
|
||||
保证master节点上只运行k3s的核心服务, 更稳定.
|
||||
|
||||
```shell
|
||||
kubectl taint nodes tca node-role.kubernetes.io/master:NoSchedule
|
||||
```
|
||||
|
||||
### 节点网络优化
|
||||
可以在需要加速的节点屏蔽目标ip 比如85.113.71.11 让tailscale强制走drep服务器进行加速
|
||||
|
||||
可以在需要加速的节点屏蔽目标ip 比如85.113.71.11 让tailscale强制走drep服务器进行加速.
|
||||
|
||||
```shell
|
||||
iptables -A OUTPUT -p udp --dport 41641 -d 85.113.71.11 -j DROP
|
||||
```
|
||||
|
||||
在新议题中引用
屏蔽一个用户