博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在kubernets中搭建jenkins服务
阅读量:7052 次
发布时间:2019-06-28

本文共 2329 字,大约阅读时间需要 7 分钟。

安装完kubernets后,不可避免的要在集群中安装一些日常所需要的软件和服务。其中对于运维来说,jenkins是经常使用的一个工具,这里,介绍一下如何在k8s中安装jenkins工具。这也是为将来为jinkins+k8s的ci/cd流程做一个基础的架构环境。

一:首先,检查k8s环境,确保集群可用。然后在各node节点下载jenkins相关的docker镜像。

k8s-node1# kubectl get nodeNAME        STATUS    ROLES     AGE       VERSIONk8s-node1   Ready     master    64d       v1.10.2k8s-node2   Ready     
64d v1.10.2k8s-node3 Ready
64d v1.10.3
k8s-node2#docker pull jenkins/jenkinsk8s-node3#docker pull jenkins/jenkins

二:编辑创建jenkins的deployment和service的yaml脚本,并创建。

# more jenkins.yaml #-----Deployment----------------apiVersion: apps/v1kind: Deploymentmetadata:  name: jenkins  labels:     app: jenkinsspec:  replicas: 1                #副本数为1  selector:    matchLabels:      app: jenkins  template:    metadata:      labels:        app: jenkins    spec:      containers:      - name: jenkins        image: docker.io/jenkins/jenkins:latest        imagePullPolicy: IfNotPresent        ports:        - containerPort: 8080---#------service---------------apiVersion: v1kind: Servicemetadata:  name: jenkins  labels:    name: jenkinsspec:  type: NodePort  ports:  - name: jenkins    port: 8080     targetPort: 8080    nodePort: 30009         #开启nodeport  - name: jenkins-agent    port: 50000     targetPort: 50000    nodePort: 30010  selector:    app: jenkinsk8s-node1# kubectl create -f ./jenkins.yaml

创建完成之后,可用看到k8s中已有jenkins相关的pod,以及service。

# kubectl get pods NAME                       READY     STATUS    RESTARTS   AGEjenkins-59cd98fc55-74qlv   1/1       Running   0          2h# kubectl get serviceNAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                          AGEjenkins      NodePort    10.104.15.194   
8080:30009/TCP,50000:30010/TCP 2h

三:登陆jenkins,由于我们用的是nodeport模式,在每个k8s nodes上都会开放jenkins的访问端口30009,这里随便选择一台登陆即可,我这里的访问地址是http://192.168.232.129:30009

在kubernets中搭建jenkins服务
登陆需要输入管理员密码,这个密码需至jenkins的系统上面找,在这里,可用到具体运行jenkins的k8s-node上去寻找,例如:

k8s-node2# more /var/lib/docker/volumes/1e6d6ddaa80fa22783731a4f6496055328762062e02e2831c2f69e4402a0120c/_data/secrets/initialAdminPassword 55a473d9d2ad408f9fbcbf24489d6010
登陆进去后,jenkins会提示安装插件,有可能会出现如下错误:

在kubernets中搭建jenkins服务

这个好像是jenkins的一个小bug,需要去后台修改插件的升级地址,可以直接访问插件的管理后台修改:
修改https地址为http:
在kubernets中搭建jenkins服务
修改完之后,重启下jenkins的docker容器,网络问题即可解决。安装好插件后即可正常登陆和使用jenkins了。

转载于:https://blog.51cto.com/icenycmh/2153183

你可能感兴趣的文章
网页中自动获取访问用户所在城市的接口插件
查看>>
BOM:文档对象模型 --树模型
查看>>
python数据类型转换
查看>>
将mongodb设置为windows服务
查看>>
WAP端 经验记录2
查看>>
【转载】robocopy的用法
查看>>
基于语义约束与 Graph Cuts 的稠密三维场景 重建
查看>>
iOS 蓝牙4.0相关资料
查看>>
摆正开发人员的位置,坚持自己
查看>>
February 23, 2005
查看>>
剑指offer——面试题30:包含min函数的栈
查看>>
锋利jquery第三章案例 总结
查看>>
C++检测一个文件是否存在
查看>>
浅谈C/C++中的static和extern关键字 转
查看>>
HDU1237 简单计算器【堆栈】
查看>>
I00031 Look-and-say sequence
查看>>
HDU1157 POJ2388 Who's in the Middle
查看>>
HDU4394 Digital Square
查看>>
[Luogu3378] 【模板】堆
查看>>
动态语言和静态语言、编译型语言和解释型语言、强类型语言和弱类型语言的分析...
查看>>