新闻详情

新闻详情

首页 / 资讯中心 / 详情

腾讯云轻量服务器折腾 K3s 实录 (续):ArgoCD 部署避坑指南

发布时间:2026/9/2 9:11:26来源:尧图网络
腾讯云轻量服务器折腾 K3s 实录 (续):ArgoCD 部署避坑指南
腾讯云轻量服务器折腾 K3s 实录 (续)ArgoCD 部署避坑指南上回说到我们在腾讯云的 4G 轻量服务器上成功把 K3s 跑起来了并打通了外网kubectl的直连。今天这篇我们继续推进实战部署 GitOps 的核心控制面 ——ArgoCD。本以为有了 K8s 集群装个 ArgoCD 只是kubectl apply一把梭的事结果依然是“步步惊心”。这里把遇到的两个巨坑和终极解法记录下来。坑一ArgoCD CRD 文件过大导致 Annotation 溢出报错按照官方文档我们满心欢喜地敲下安装命令kubectl create namespace argocd kubectl apply-nargocd-fhttps://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml结果终端直接糊了一长串红字The CustomResourceDefinition applicationsets.argoproj.io is invalid: metadata.annotations: Too long: may not be more than 262144 bytes原因分析K8s 默认的kubectl apply使用的是Client-Side Apply (客户端应用)模式。它会非常实诚地把你整个 YAML 文件的内容塞进这个对象的last-applied-configuration注解 (Annotation) 里。偏偏 ArgoCD 的核心 CRD比如 ApplicationSet的声明文件巨大无比轻轻松松突破了 K8s 注解长度 256KB 的硬性限制直接被 API Server 拒收了。终极解法使用 Server-Side Apply既然客户端算不过来就把合并的压力丢给服务端。只需要在命令里加一个--server-side参数让 K8s 的 API Server 自己去处理状态合并kubectl apply --server-side-nargocd-fhttps://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml敲下这行命令看着屏幕刷刷刷地输出serverside-applied简直强迫症福音。坑二国内网络拉取沙盒镜像 (Pause) 失败导致 Pod 卡死资源对象虽然建好了但我通过kubectl get pods -n argocd一看所有的 Pod 像木头一样死死卡在ContainerCreating状态十几分钟一动不动。用describe命令深挖日志发现了老熟人Failed to pull image rancher/mirrored-pause:3.6... dial tcp 162.125.x.x:443: connect: connection refused原因分析这是国内云主机的通病。K3s/K8s 在启动任何 Pod 之前都需要先从 Docker Hub 拉取基础的沙盒镜像pause 镜像。但目前国内直连registry-1.docker.io基本被掐断连最底层的环境都初始化不了业务镜像更是没戏。终极解法给 K3s 配置国内容器镜像加速器注意K3s 底层用的是 containerd而不是 Docker所以不要去改/etc/docker/daemon.json。你需要登录到服务器上直接修改 K3s 的镜像配置表# 写入国内镜像加速源 (例如 DaoCloud, 南大源等)catEOF|sudotee/etc/rancher/k3s/registries.yamlmirrors: docker.io: endpoint: - https://docker.m.daocloud.io - https://docker.nju.edu.cn - https://registry.docker-cn.com EOF# 重启 K3s 让配置生效sudosystemctl restart k3sK3s 重启速度极快通常不到两秒。重启完成后被卡住的 Pod 就像久旱逢甘霖一样瞬间开始拉取镜像状态全部变为Running。收尾与效果验证当所有 Pod 都跑起来后为了方便在外面通过浏览器直接访问 ArgoCD 的炫酷界面我们直接把它原本内部的 ClusterIP 服务改成 NodePort并固定映射到30080端口# 暴露 NodePortkubectl patch svc argocd-server-nargocd-p{spec: {type: NodePort, ports: [{port: 443, nodePort: 30080}]}}# 窃取初始的超级管理员密码kubectl-nargocd get secret argocd-initial-admin-secret-ojsonpath{.data.password}|base64 -d;echo最后记得去腾讯云控制台的安全组里把TCP 30080端口放通。打开浏览器访问https://你的公网IP:30080忽略证书警告输入admin和刚拿到的密码。看到 ArgoCD 后台界面的那一刻所有的折腾都值了下一篇我们将继续向这台 4G 战舰里塞入 Kong 网关数据面真正把 GitOps 闭环跑通。敬请期待
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

嵌入式开发:用VS Code插件构建文档与代码一体化工作区 2026/9/3 0:00:44

嵌入式开发:用VS Code插件构建文档与代码一体化工作区

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
千万QPS链路分析架构:从Trace到智能根因分析 2026/9/3 0:00:44

千万QPS链路分析架构:从Trace到智能根因分析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南 2026/9/3 0:00:44

ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南 2026/9/3 0:00:44

安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI智能体辅助JS逆向:从V8环境搭建到补环境实战 2026/9/3 0:00:44

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

先别急着点开,这不是劝退文,而是想讲清楚一件事:用 AI 做逆向值不值得学?如果要用,怎么搭一套“V8 环境 AI 智能体”来提升效率。最近逆向圈、爬虫圈都在聊 AI Agent、AST 工程逆向、JS 逆向这些词,很多新手…

阅读更多 →
Unity运行时模型加载实战:TriLib与C#实现无缝导入FBX、OBJ 2026/9/2 23:57:43

Unity运行时模型加载实战:TriLib与C#实现无缝导入FBX、OBJ

简介:针对Unity开发者的运行时3D模型动态导入加载完整源码工程,基于TriLib 2.3.7插件实现。工程以Unity 2021.3.27标准渲染管线为基准,通过自定义UI面板选择本地模型文件,即可在场景中实时加载预览,适合游戏内模型替换…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞