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 浏览器
posted @ 2026-07-03 11:29  iXiAo9  阅读(32)  评论(0)    收藏  举报