【K3s 系列 01】从零搭建 K3s
一、获取系统基础硬件信息
#基础架构 (输出参考:如果是 x86_64 或 aarch64,即可完美支持。)
pig@vm-debian-13:~$ uname -m
x86_64
#处理器 (K3s 单节点极其轻量,最低仅需 1核 CPU 和 512MB 内存(推荐 1核1G 以上)。)
pig@vm-debian-13:~$ lscpu | grep -E "Model name|CPU\(s\):"
CPU(s): 2
Model name: 13th Gen Intel(R) Core(TM) i5-13400
NUMA node0 CPU(s): 0,1
#内存大小
pig@vm-debian-13:~$ free -m
total used free shared buff/cache available
Mem: 3883 886 1917 0 1334 2997
Swap: 0 0
安装脚本
官方的脚本太慢,国内用户使用这个脚本进行加速
$ curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

检查k3s服务状态
$ systemctl status k3s

查看集群节点状态
$ sudo kubectl get node

查看集群中运行的pod
$ sudo kubectl get pods -A

二、配置kubectl (普通用户)
普通用户执行命令 kubectl get nodes 提示没有权限

pig@vm-debian:~$ mkdir -p ~/.kube #创建 .kube 目录
pig@vm-debian:~$ sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config #复制 K3s 默认配置
pig@vm-debian:~$ sudo chown $USER:$USER ~/.kube/config #修改文件所属用户
pig@vm-debian:~$ echo 'export KUBECONFIG=$HOME/.kube/config' >> ~/.bashrc #配置环境变量
source ~/.bashrc
pig@vm-debian:~$ kubectl get nodes #验证配置
NAME STATUS ROLES AGE VERSION
vm-debian-13 Ready control-plane 175m v1.35.5+k3s1
如上,说明当前普通用户已经可以正常访问 Kubernetes API。
运维思考
生产环境中,不建议长期使用root用户进行Kubernetes管理。
推荐使用普通用户,通过 sudo 执行系统级操作(如管理服务、修改配置),而将 kubectl 配置为普通用户直接使用。
这样既符合Linux最小权限原则,也更符合企业运维的实际工作方式。