在kubernets中搭建jenkins服务

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

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

k8s-node1# kubectl get node
NAME        STATUS    ROLES     AGE       VERSION
k8s-node1   Ready     master    64d       v1.10.2
k8s-node2   Ready     <none>    64d       v1.10.2
k8s-node3   Ready     <none>    64d       v1.10.3
k8s-node2#docker pull jenkins/jenkins
k8s-node3#docker pull jenkins/jenkins

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

# more jenkins.yaml 
#-----Deployment----------------
apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
  labels: 
    app: jenkins
spec:
  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: v1
kind: Service
metadata:
  name: jenkins
  labels:
    name: jenkins
spec:
  type: NodePort
  ports:
  - name: jenkins
    port: 8080 
    targetPort: 8080
    nodePort: 30009         #开启nodeport
  - name: jenkins-agent
    port: 50000 
    targetPort: 50000
    nodePort: 30010
  selector:
    app: jenkins

k8s-node1# kubectl create -f ./jenkins.yaml

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

# kubectl get pods 
NAME                       READY     STATUS    RESTARTS   AGE
jenkins-59cd98fc55-74qlv   1/1       Running   0          2h

# kubectl get service
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                          AGE
jenkins      NodePort    10.104.15.194   <none>        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,需要去后台修改插件的升级地址,可以直接访问插件的管理后台修改: http://192.168.232.129:30009/pluginManager/advanced

修改https地址为http:

在kubernets中搭建jenkins服务

修改完之后,重启下jenkins的docker容器,网络问题即可解决。安装好插件后即可正常登陆和使用jenkins了。

原文 

http://blog.51cto.com/icenycmh/2153183

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 在kubernets中搭建jenkins服务

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址