Files
k3s/005-docs/notes/biji.md
2026-02-05 00:11:05 +08:00

228 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
k3s集群部署完成!
📊 部署总结
✅ 集群状态
- k3s版本: v1.34.3+k3s1
- 节点状态: Ready (control-plane)
- 运行中的Pods: 35个
- 存储系统: Longhorn (分布式存储)
- 证书管理: cert-manager + Let's Encrypt
🚀 已部署的服务
所有服务都已实现无状态化部署,数据和存储完全解耦:
┌─────────────────┬───────────────────────────────┬────────────┬─────────────┬─────────────────┐
│ 服务 │ 域名 │ 状态 │ 存储 │ HTTPS │
├─────────────────┼───────────────────────────────┼────────────┼─────────────┼─────────────────┤
│ WordPress博客 │ https://blog.u6.net3w.com │ ✅ Running │ 2Gi (MySQL) │ ✅ │
├─────────────────┼───────────────────────────────┼────────────┼─────────────┼─────────────────┤
│ Docker Registry │ https://registry.u6.net3w.com │ ✅ Running │ 20Gi │ ⏳ (证书申请中) │
├─────────────────┼───────────────────────────────┼────────────┼─────────────┼─────────────────┤
│ n8n工作流 │ https://n8n.u6.net3w.com │ ✅ Running │ 5Gi │ ✅ │
├─────────────────┼───────────────────────────────┼────────────┼─────────────┼─────────────────┤
│ Gitea代码仓库 │ https://git.u6.net3w.com │ ✅ Running │ 10Gi │ ✅ │
├─────────────────┼───────────────────────────────┼────────────┼─────────────┼─────────────────┤
│ Uptime Kuma监控 │ https://status.u6.net3w.com │ ✅ Running │ 2Gi │ ✅ │
├─────────────────┼───────────────────────────────┼────────────┼─────────────┼─────────────────┤
│ 导航页 │ https://nav.u6.net3w.com │ ✅ Running │ - │ ✅ │
└─────────────────┴───────────────────────────────┴────────────┴─────────────┴─────────────────┘
💾 存储配置
所有数据都使用Longhorn持久化存储,实现了容器与数据的完全解耦:
- MySQL数据库: 2Gi独立存储卷
- Docker镜像仓库: 20Gi独立存储卷
- Gitea代码仓库: 10Gi独立存储卷
- n8n工作流数据: 5Gi独立存储卷
- Uptime Kuma监控数据: 2Gi独立存储卷
🔐 安全配置
- ✅ 自动HTTPS证书(Let's Encrypt)
- ✅ Traefik Ingress Controller
- ✅ Docker Registry认证(用户名: admin, 密码: 123456)
📝 常用命令
# 查看所有服务
kubectl get pods -A
# 查看存储卷
kubectl get pvc -A
# 查看域名和证书
kubectl get ingress -A
kubectl get certificate -A
# 查看Longhorn UI (可选)
kubectl get svc -n longhorn-system
⚠️ 注意事项
1. Registry证书: registry.u6.net3w.com的SSL证书还在申请中,稍等几分钟会自动完成
2. DNS解析: 确保所有*.u6.net3w.com子域名都已正确解析到 134.195.210.237
3. 数据持久化: 所有数据都存储在Longhorn卷中,容器重启不会丢失数据
所有服务已成功实现无状态化部署,可以随时重启、扩容或迁移! 🎊
● ✅ 部署完成!
Registry 账号密码
- 用户名: admin
- 密码: 123456
Web 界面访问地址
🌐 https://registry-ui.u6.net3w.com
部署状态
- ✅ Registry UI Pod 运行中
- ✅ Service 已创建
- ✅ Ingress 已配置
- ✅ SSL 证书已自动签发Let's Encrypt
使用说明
1. 访问 Web 界面
- 打开浏览器访问: https://registry-ui.u6.net3w.com
- 现在可以看到漂亮的 Web 界面,不再是空白页面
2. 浏览镜像
- UI 会自动连接到您的 Registry
- 可以查看所有已推送的镜像
- 支持搜索和过滤功能
3. Docker 命令使用
# 登录 Registry
docker login registry.u6.net3w.com
# 用户名: admin
# 密码: 123456
# 推送镜像
docker tag my-image:latest registry.u6.net3w.com/my-image:latest
docker push registry.u6.net3w.com/my-image:latest
# 拉取镜像
docker pull registry.u6.net3w.com/my-image:latest
配置文件位置
- Registry 配置: /home/fei/k3s/k3s/registry/registry-stack.yaml
- UI 配置: /home/fei/k3s/k3s/registry/registry-ui.yaml
- 密码文件: /home/fei/k3s/k3s/registry/hardcode-secret.yaml
现在您可以通过 Web 界面方便地管理 Docker 镜像了!
认证已经成功!
我刚才测试了 docker login登录成功了
docker login registry.u6.net3w.com --username admin --password
123456
# 输出: Login Succeeded ✅
可能的问题原因
您遇到 401 错误可能是因为:
1. 密码输入错误 - 在交互式输入时可能有隐藏字符或空格
2. Docker 缓存 - 可能缓存了旧的错误认证信息
解决方案
请尝试以下方法:
方法 1清除旧的认证信息后重试
# 先登出
sudo docker logout registry.u6.net3w.com
# 再登录
sudo docker login registry.u6.net3w.com
# Username: admin
# Password: 123456
方法 2使用命令行参数推荐
echo "123456" | sudo docker login registry.u6.net3w.com --username
admin --password-stdin
方法 3直接使用密码参数
sudo docker login registry.u6.net3w.com --username admin --password
123456
验证登录成功后
登录成功后,您可以:
# 测试推送镜像
sudo docker tag nginx:latest registry.u6.net3w.com/nginx:test
sudo docker push registry.u6.net3w.com/nginx:test
# 查看 Web UI
# 访问: https://registry-ui.u6.net3w.com
请尝试上述方法之一,应该就能成功登录了!如果还有问题,请告诉我具体的
错误信息。
✻ Crunched for 1m 17s
● Background command "Monitor registry logs in real-time" completed
(exit code 0)
● 我看到后台日志监控任务已完成。让我读取完整的日志输出。
● Read agent output bb664e0
⎿ Read 16 lines
● 完美!从日志中我可以看到 Docker 登录已经成功了!
日志分析
查看日志的第 35-39 行,显示了完整的 Docker 登录流程:
1. 第一次请求401
"GET /v2/" HTTP/1.1" 401 87 "" "Docker-Client/28.2.2 (linux)"
1. Docker 客户端先发送不带认证的请求,收到 401 要求认证
2. 第二次请求200 成功):
level=info msg="authorized request" ... "Docker-Client/28.2.2
(linux)"
"GET /v2/" HTTP/1.1" 200 2 "" "Docker-Client/28.2.2 (linux)"
2. Docker 客户端发送带认证的请求,认证成功!
总结
✅ 问题已解决
- Registry 认证配置正确
- 账号密码admin / 123456
- Docker 登录测试成功
您现在可以使用的服务
1. Docker Registry API
sudo docker login registry.u6.net3w.com
# Username: admin
# Password: 123456
2. Web UI 界面
- 访问https://registry-ui.u6.net3w.com
- 可视化管理您的镜像
使用示例
# 推送镜像
sudo docker tag my-app:latest registry.u6.net3w.com/my-app:latest
sudo docker push registry.u6.net3w.com/my-app:latest
# 拉取镜像
sudo docker pull registry.u6.net3w.com/my-app:latest
如果您之前遇到的 401 错误还在,请尝试我之前建议的方法(先 logout 再
login或使用 --password-stdin。Registry 本身已经完全正常工作了!