云计算百科
云计算领域专业知识百科平台

服务器运维:K3S下Jenkins 安装及配置的完整操作笔记

以下是本次 Jenkins 在 k3s 中部署的完整操作笔记:

1. 安装 Helm

步骤命令说明
下载 Helm curl -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.4

2. 添加 Jenkins Chart 仓库

helm repo add jenkins https://charts.jenkins.io
helm repo update

3. 编写 values.yaml(⚠️ 关键)

⚠️ 镜像配置注意:Jenkins Chart 拼接逻辑为 repository:tag,不要单独设置 registry 字段,镜像拉取由 k3s registries.yaml 全局代理。

controller:
image:
repository: jenkins/jenkins
tag: lts-jdk17 # ✅ 正确 tag;2.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: 1Gi

4. 部署 Jenkins

步骤命令说明
创建命名空间 kubectl create namespace jenkins 隔离部署
安装 Release helm install jenkins jenkins/jenkins -n jenkins -f values.yaml –version 5.9.56 指定 Chart 版本避免兼容问题
查看 Pod 状态 kubectl get pods -n jenkins -w 等待 2/2 Running
验证 Ingress kubectl get ingress -n jenkins 确认 ADDRESS 和 HOSTS 正确

5. 访问验证

方式命令 / 操作说明
本地 hosts 添加 39.107.52.178 jenkins.local 浏览器直接访问 http://jenkins.local
curl 临时验证 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.local"

Jenkins 2.568.3 (LTS JDK17) 已通过 Helm 成功部署至 k3s,Pod 2/2 Running,外网可通过 http://jenkins.local 访问。建议尽快修改默认密码,并继续配置 Kubernetes Cloud 及 GitLab 对接。

✅ Jenkins 部署完成

项目状态
Helm Release deployed (jenkins-5.9.56)
Pod 状态 2/2 Running
Jenkins 版本 2.568.3 (LTS JDK17)
Ingress jenkins.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.local
  • curl 测试: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 实现动态构建 Agent;4) 搭建镜像仓库完成 CI/CD 闭环。

    hosts 解析

    Windows:

    # 以管理员身份运行 PowerShell 或记事本
    notepad C:\\Windows\\System32\\drivers\\etc\\hosts
    # 在文件末尾添加:
    39.107.52.178 jenkins.local

    macOS / Linux:

    sudo 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 文件。

    访问成功

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务器运维:K3S下Jenkins 安装及配置的完整操作笔记
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!