# 使用默认配置一键安装(包含containerd和traefik ingress)
curl -sfL https://get.k3s.io | sh -
# 获取kubectl配置
sudo cat /etc/rancher/k3s/k3s.yaml
# 使kubectl可用
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get nodes
# 安装时指定外部数据库(MySQL/PostgreSQL/etcd)
curl -sfL https://get.k3s.io | sh -s - server \
--datastore-endpoint="mysql://username:password@tcp(hostname:3306)/database-name"
# 禁用内置组件
curl -sfL https://get.k3s.io | sh -s - server \
--disable traefik \
--disable servicelb \
--disable local-storage
# 在主节点执行
curl -sfL https://get.k3s.io | K3S_TOKEN=my-secret-token sh -s - server \
--cluster-init
# 在主节点查看token
sudo cat /var/lib/rancher/k3s/server/node-token
# 在工作节点执行
curl -sfL https://get.k3s.io | K3S_URL=https://<主节点IP>:6443 \
K3S_TOKEN=<节点令牌> sh -
curl -sfL https://get.k3s.io | sh -s - server \
--docker
/etc/rancher/k3s/k3s.yaml # kubeconfig文件
/var/lib/rancher/k3s/server # 服务端数据
/var/lib/rancher/k3s/agent # 代理数据
# 创建配置文件
sudo mkdir -p /etc/rancher/k3s
sudo cat > /etc/rancher/k3s/config.yaml << EOF
write-kubeconfig-mode: "0644"
tls-san:
- "k3s.example.com"
- "192.168.1.100"
cluster-init: true
datastore-endpoint: "mysql://username:password@tcp(hostname:3306)/k3s"
EOF
# 使用配置文件安装
curl -sfL https://get.k3s.io | sh -s - server --config /etc/rancher/k3s/config.yaml
# 使用官方卸载脚本
/usr/local/bin/k3s-uninstall.sh # 单节点卸载
/usr/local/bin/k3s-agent-uninstall.sh # 工作节点卸载
# 查看服务状态
sudo systemctl status k3s
sudo systemctl status k3s-agent
# 重启服务
sudo systemctl restart k3s
sudo systemctl restart k3s-agent
# 查看日志
sudo journalctl -u k3s -f
# 查看集群信息
kubectl get nodes -o wide
kubectl cluster-info
# 查看所有pods
kubectl get pods --all-namespaces
# 查看k3s版本
k3s --version
# 查看k3s日志
sudo journalctl -u k3s -xe
# 检查证书是否有效
sudo k3s kubectl get secrets
# 重置集群(慎用)
sudo k3s-killall.sh
sudo rm -rf /var/lib/rancher/k3s/
# 清理不需要的镜像
sudo k3s crictl rmi --prune
# 查看资源使用
sudo k3s kubectl top nodes
sudo k3s kubectl top pods -A
这是基本的 k3s 安装流程,具体配置可根据实际需求调整。