服务器运维:K3S下Jenkins 安装及配置的完整操作笔记
以下是本次 Jenkins 在 k3s 中部署的完整操作笔记1. 安装 Helm步骤命令说明下载 Helmcurl -fsSL https://mirrors.huaweicloud.com/helm/v3.18.4/helm-v3.18.4-linux-amd64.tar.gz -o helm.tar.gz使用国内镜像源避免 GitHub 超时解压安装tar -xzf helm.tar.gz mv linux-amd64/helm /usr/local/bin/安装到系统 PATH验证版本helm version确认 v3.18.42. 添加 Jenkins Chart 仓库helm repo add jenkins https://charts.jenkins.io helm repo update3. 编写 values.yaml⚠️ 关键⚠️镜像配置注意Jenkins Chart 拼接逻辑为repository:tag不要单独设置registry字段镜像拉取由 k3sregistries.yaml全局代理。controller: image: repository: jenkins/jenkins tag: lts-jdk17 # ✅ 正确 tag2.568.3-jdk17 不存在 admin: username: admin password: admin123 # ⚠️ 部署后请尽快修改默认密码 ingress: enabled: true hostName: jenkins.local path: / annotations: {} resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi4. 部署 Jenkins步骤命令说明创建命名空间kubectl create namespace jenkins隔离部署安装 Releasehelm install jenkins jenkins/jenkins -n jenkins -f values.yaml --version 5.9.56指定 Chart 版本避免兼容问题查看 Pod 状态kubectl get pods -n jenkins -w等待 2/2 Running验证 Ingresskubectl get ingress -n jenkins确认 ADDRESS 和 HOSTS 正确5. 访问验证方式命令 / 操作说明本地 hosts添加39.107.52.178 jenkins.local浏览器直接访问http://jenkins.localcurl 临时验证curl -H Host: jenkins.local http://39.107.52.178/无需改 hosts返回 200/302 即正常登录凭证admin / admin123⚠️ 首次登录后立即修改密码⚠️ 常见问题速查问题原因解决方案Pod ImagePullBackOff镜像 tag 不存在改用lts-jdk17勿用版本号jdk后缀Pod ContainerCreating镜像源 DNS 解析失败检查/etc/rancher/k3s/registries.yaml中的 endpoint 是否可达Helm install 报错values.yaml 格式错误Ingress paths 不要嵌套额外层级使用标准扁平结构外网访问 404安全组未放行 80 端口添加入方向 TCP/80 规则外网访问 404未配置 Host 头添加本地 hosts 或 curl 带-H Host: jenkins.localJenkins 2.568.3 (LTS JDK17) 已通过 Helm 成功部署至 k3sPod 2/2 Running外网可通过 http://jenkins.local 访问。建议尽快修改默认密码并继续配置 Kubernetes Cloud 及 GitLab 对接。✅ Jenkins 部署完成项目状态Helm Releasedeployed(jenkins-5.9.56)Pod 状态2/2 RunningJenkins 版本2.568.3 (LTS JDK17)Ingressjenkins.local→ Traefik:80外网访问✅http://39.107.52.178/(需 Host header)登录页✅ Sign in - Jenkins持久化存储10Gi PVC (local-path)预装插件kubernetes, git, gitlab-plugin, blueocean 等 登录信息用户名:admin密码:admin123⚠️ 使用说明由于 Ingress 使用jenkins.local域名访问时需满足以下任一条件本地 hosts 绑定在电脑/etc/hosts添加39.107.52.178 jenkins.local然后浏览器访问http://jenkins.localcurl 测试curl -H Host: jenkins.local http://39.107.52.178/修改为 IP 直接访问如需直接用 IP 访问可更新 Ingress hostName 为39.107.52.178 后续步骤配置 Jenkins ↔ GitLab 对接Webhook 凭证配置 Kubernetes Cloud动态 Agent搭建镜像仓库ACR/Harbor编写首个 Pipeline是否需要我协助配置 Jenkins 与宿主机 GitLab 的对接Jenkins 2.568.3 (LTS) 已通过 Helm 成功部署至 k3s 集群Pod 运行正常外网可通过http://39.107.52.178/Host: jenkins.local访问登录账号 admin/admin123。k3s v1.36.4 集群运行稳定Traefik 接管 80/443 端口GitLab 19.3.2 保留在宿主机 8080 端口未受影响。后续建议1) 配置本地 hosts 或修改 Ingress 以方便访问2) 尽快修改默认密码3) 配置 Kubernetes Cloud 实现动态构建 Agent4) 搭建镜像仓库完成 CI/CD 闭环。hosts 解析Windows# 以管理员身份运行 PowerShell 或记事本 notepad C:\Windows\System32\drivers\etc\hosts # 在文件末尾添加 39.107.52.178 jenkins.localmacOS / Linuxsudo sh -c echo 39.107.52.178 jenkins.local /etc/hosts验证配置添加后刷新浏览器访问http://jenkins.local应跳转到 Jenkins 登录页。⚠️ 如果不想修改 hosts也可临时用 curl 验证curl -H Host: jenkins.local http://39.107.52.178/已在本地 hosts 中添加39.107.52.178 jenkins.local映射浏览器访问 http://jenkins.local 即可正常进入 Jenkins。若后续更换 IP 或域名需同步更新 hosts 文件。访问成功构建时清楚缓存安装插件pipeline// 构建前清理工作空间 cleanWs()