k3s + Headlamp + ArgoCD 部署教程
k3s + Headlamp + ArgoCD 部署教程
在 Linux 服务器上搭建轻量级 Kubernetes 集群,并通过 Headlamp Web UI + ArgoCD GitOps 管理集群。
环境信息
| 项目 | 内容 |
|---|---|
| 服务器 IP | 192.168.216.128 |
| 操作系统 | Linux |
| 用户 | qwq |
一、安装 k3s(轻量级 K8s 集群)
1.1 一键安装
curl -sfL https://get.k3s.io | sh -
1.2 验证集群状态
# 查看节点
sudo k3s kubectl get nodes
# 查看所有 Pod
sudo k3s kubectl get pods -A
1.3 配置 kubectl(方便后续操作)
# 创建软链接
sudo ln -sf /usr/local/bin/k3s /usr/local/bin/kubectl
# 复制 kubeconfig
mkdir -p ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $USER:$USER ~/.kube/config
chmod 600 ~/.kube/config
注意:k3s 的 kubeconfig 中 server 地址为
127.0.0.1:6443,如果要在外部访问需要额外配置。
二、部署 Headlamp(K8s Web UI)
2.1 拉取镜像
docker pull ghcr.io/headlamp-k8s/headlamp:v0.43.0
2.2 启动 Headlamp 容器
# 注意:k3s.yaml 默认权限为 root,需改为可读
sudo chmod 644 /etc/rancher/k3s/k3s.yaml
docker run -d \
--name headlamp \
--network host \
-v /etc/rancher/k3s/k3s.yaml:/home/headlamp/.kube/config:ro \
ghcr.io/headlamp-k8s/headlamp:v0.43.0
2.3 验证
docker logs headlamp
ss -tlnp | grep 4466
2.4 访问
浏览器打开:
http://192.168.216.128:4466
三、部署 ArgoCD(GitOps 工具)
3.1 创建命名空间并安装
kubectl create namespace argocd
kubectl apply -n argocd \
-f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
3.2 等待 Pod 启动
kubectl get pods -n argocd -w
所有 Pod 状态变为 Running 即可。
3.3 暴露服务(NodePort)
kubectl patch svc argocd-server -n argocd \
-p '{"spec":{"type":"NodePort"}}'
3.4 获取初始密码
kubectl get secret argocd-initial-admin-secret -n argocd \
-o jsonpath="{.data.password}" | base64 -d
3.5 修改密码
# 登录到 argocd-server 容器
kubectl exec -n argocd deploy/argocd-server -- \
argocd login localhost:8080 \
--username admin \
--password <初始密码> \
--insecure
# 修改密码(要求 8~32 位)
kubectl exec -n argocd deploy/argocd-server -- \
argocd account update-password \
--current-password <初始密码> \
--new-password admin123
3.6 访问 ArgoCD
http://192.168.216.128:31680
| 用户名 | 密码 |
|---|---|
| admin | admin123 |
四、Headlamp 集成 ArgoCD 插件
4.1 下载 ArgoCD 插件
从 GitHub 下载插件包:
# 文件位置:/home/qwq/privilegedescalation-headlamp-argocd-plugin-0.1.3.tar.gz
4.2 解压并安装插件到 Headlamp
cd /tmp
tar -xzf /home/qwq/privilegedescalation-headlamp-argocd-plugin-0.1.3.tar.gz
docker cp /tmp/headlamp-argocd-plugin headlamp:/headlamp/plugins/
docker restart headlamp
4.3 验证插件加载
# 检查插件是否被识别
curl -s http://localhost:4466/plugins
4.4 使用
浏览器打开 Headlamp,左侧导航栏会出现 ArgoCD 菜单项,点击即可查看 ArgoCD 的 Application 和健康状态。
五、访问汇总
| 服务 | 地址 | 说明 |
|---|---|---|
| Headlamp | http://192.168.216.128:4466 | K8s Web 管理界面,已集成 ArgoCD 插件 |
| ArgoCD | http://192.168.216.128:31680 | GitOps 原生界面 |
| ArgoCD 登录 | admin / admin123 |
六、常用命令速查
# K8s 节点状态
kubectl get nodes
# 查看所有 Pod
kubectl get pods -A
# 查看 ArgoCD Pod
kubectl get pods -n argocd
# 查看 Headlamp 日志
docker logs headlamp
# 重启 Headlamp
docker restart headlamp
七、架构示意图
服务器 192.168.216.128
┌─────────────────────────┐
│ k3s 集群 │
│ ┌──────────┐ ┌───────┐ │
│ │ ArgoCD │ │Headlamp│ │
│ │ (Pod) │ │(Docker)│ │
│ └────┬─────┘ └───┬───┘ │
└───────┼────────────┼─────┘
31680 │ 4466 │
┌──────────┴──┐ ┌─────┴─────┐
│ ArgoCD 原生 │ │ Headlamp │
│ 界面 │ │ 统一管理 │
└─────────────┘ └───────────┘
Windows 浏览器

浙公网安备 33010602011771号