k8s -安装jenkins

本文档详细介绍了如何在Kubernetes环境中使用Helm和配置文件来安装Jenkins自动化服务器。首先通过Helm添加Jenkins仓库并安装指定版本的Jenkins。然后,展示了如何编写配置文件来创建PersistentVolumeClaim、ServiceAccount、ClusterRoleBinding、Deployment和Service,以确保Jenkins具有持久存储、权限管理和暴露服务。此外,还提到了在Jenkins中使用Configuration as Code进行配置,并提供了相关的资源链接供进一步学习。

jenkins is the leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.

安装

使用helm安装

helm repo add jenkinsci https://charts.jenkins.io/
helm install my-jenkins jenkinsci/jenkins --version 3.8.9
Update Complete. ⎈Happy Helming![root@cvicse ~]# helm install my-jenkins jenkinsci/jenkins --version 3.8.9
NAME: my-jenkins
LAST DEPLOYED: Sat Nov 27 11:30:06 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get your 'admin' user password by running:
  kubectl exec --namespace default -it svc/my-jenkins -c jenkins -- /bin/cat /run/secrets/chart-admin-password && echo
2. Get t
### 在 Kubernetes (k8s) 集群上部署 Jenkins 在 Kubernetes 上部署 Jenkins 是一种常见的 DevOps 实践,可以充分利用 Kubernetes 的容器编排能力来管理 Jenkins 主节点和动态代理节点。以下是关于如何实现这一目标的关键点: #### 使用 Helm 安装 Jenkins Helm 是 Kubernetes 的包管理工具,能够简化复杂应用的部署过程。通过 Helm Chart 可以快速完成 Jenkins安装。 ```bash helm repo add jenkins https://charts.jenkins.io helm repo update helm install my-jenkins jenkins/jenkins --namespace jenkins -c values.yaml ``` 上述命令会基于 `values.yaml` 文件中的自定义配置创建一个名为 `my-jenkins` 的 Jenkins 实例[^1]。 #### 手动部署 Jenkins 到 Kubernetes 如果不想使用 Helm,则可以通过手动方式将 Jenkins 部署到 Kubernetes 中。这通常涉及以下几个步骤: 1. **准备 YAML 文件** 创建一个包含 Deployment 和 Service 资源的 YAML 文件用于描述 Jenkins 应用程序。 2. **启动 Pod 并验证状态** 将该文件应用于集群并确认 Pods 是否正常运行。 ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: jenkins-deployment namespace: default spec: replicas: 1 selector: matchLabels: app: jenkins template: metadata: labels: app: jenkins spec: containers: - name: jenkins-container image: jenkins/jenkins:lts ports: - containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: jenkins-service namespace: default spec: type: LoadBalancer ports: - port: 80 targetPort: 8080 selector: app: jenkins ``` 3. **访问 Jenkins UI** 如果选择了 `LoadBalancer` 类型的服务,等待外部 IP 地址分配完毕即可通过浏览器访问 Jenkins 控制台界面[^2]。 #### 动态 Agent 设置 为了支持更高效的 CI/CD 流程,推荐启用 Kubernetes 插件以便让 Jenkins 自动调度 Slave Nodes 至 K8S 环境下执行任务。 - 安装必要的插件:前往 Manage Plugins 页面查找 “Kubernetes Plugin”,点击 Install 进行下载与激活操作。 - 添加新的 Cloud Configuration:导航至 Configure System -> Add a new cloud -> Select 'Kubernetes' option. - Server URL: 输入 k8s API server endpoint, e.g., `https://kubernetes.default.svc.cluster.local`. - Credentials: 提供具有适当权限的角色绑定信息给 Jenkins service account 使用[^4]. 最后一步是从日志提取初始管理员密码登录系统: ```bash kubectl logs <jenkins-pod-name> -n jenkins | grep Unlocking ``` 此方法适用于获取解锁密钥[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值