# K3s集群安装





### Docker安装

> 所有节点

<pre class="language-bash"><code class="lang-bash"><strong>curl https://releases.rancher.com/install-docker/20.10.sh | sh
</strong>systemctl start docker
systemctl enable docker
</code></pre>

### 安装 Server

> Server 节点执行； 默认 ETCD, 这里选择接入外部MySQL数据库

```bash
# 使用外部 MySQL 数据库, 自定义 TOKEN，设置污点不可调度，初始化集群，使用docker容器
curl -sfL https://get.k3s.io | K3S_DATASTORE_ENDPOINT="mysql://MYSQL_USER:MYSQL_PASS@tcp(MYSQL_IP:MYSQL_PORT)/MYSQL_DB" \
K3S_NODE_NAME=server1 \
K3S_TOKEN="12345" \
INSTALL_K3S_EXEC="server --node-taint node.kubernetes.io/unschedulable=:NoSchedule --cluster-init --docker --tls-san `hostname`"  sh -s -


# 默认使用 ETCD 数据库
# curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server  --token 12345 --docker"  sh -s - 

```

### 安装 Agent 节点

> Node 节点执行； 指定 node 名字，默认 Hostname 主机名

```bash
curl -sfL https://get.k3s.io | \
    K3S_NODE_NAME=node1 \
    INSTALL_K3S_EXEC="agent --server https://172.19.16.6:6443 --docker" \
    K3S_TOKEN=12345 sh -s -
```

