K3s 是一个轻量级的 Kubernetes 发行版,旨在提供更轻便、简化的 Kubernetes 部署体验。相比于标准的 Kubernetes 发行版,K3s 更小巧、更易于部署和管理。它被设计为适用于边缘计算、IoT 设备以及资源有限的环境,因为它的特点是占用资源更少、启动速度更快,同时仍然提供了完整的 Kubernetes API 和功能。
安装K3s:
在目标节点上运行安装命令。通常使用curl命令来安装:
curl -sfL https://get.k3s.io | sh -
等待安装完成:
安装过程可能需要一些时间,取决于你的网络速度和系统配置。
[INFO] Finding release for channel stable
······
[INFO] systemd: Starting k3s ```
检查K3s状态:
安装完成后,检查K3s服务的运行状态:
sudo systemctl status k3s
管理K3s集群:
一旦K3s安装完成,你可以使用kubectl
命令来管理你的Kubernetes集群。
验证K3s集群:
使用kubectl
命令来验证K3s集群的状态,例如获取节点信息:
kubectl get nodes
安装并配置Dashboard::
下载Dashboard的YAML文件:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
修改YAML文件以将服务类型设置为NodePort,并应用更改:
# 使用编辑器(例如vim)修改recommended.yaml文件,在Service部分增加type:NodePort
kubectl apply -f recommended.yaml
创建管理员用户并分配权限,生成访问令牌:
cat >>dashboard-adminuser.yaml<<'EOF'
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: v1
kind: Secret
metadata:
name: admin-user
namespace: kubernetes-dashboard
annotations:
kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token
EOF
应用管理员用户和权限
kubectl apply -f dashboard-adminuser.yaml
获取Dashboard访问令牌
kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d
本文涵盖了从安装到配置 Dashboard 的完整流程。安装K3s时使用了curl命令从远程获取并安装软件包,接着使用了sudo systemctl status k3s命令来检查K3s服务的运行状态。然后,通过kubectl命令来管理和验证K3s集群的状态,并且通过一系列操作来配置和部署 Kubernetes Dashboard。