在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

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

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


这个好像是jenkins的一个小bug,需要去后台修改插件的升级地址,可以直接访问插件的管理后台修改:http://192.168.232.129:30009/pluginManager/advanced
修改https地址为http:

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

原文地址:http://blog.51cto.com/icenycmh/2153183

时间: 2024-10-09 06:06:06

在kubernets中搭建jenkins服务的相关文章

在RHEL中搭建DHCP服务使得windows系统能自动获取IP地址

实验环境: RHEL6.5版本.Windows7系统各一台RHEL6.5版本的IP地址:192.168.100.222 本实验所使用到的一些命令: cd 切换目录 rpm 添加/删除程序功能 cat 查看文件 cp 复制 vim 编辑文件 service 启动/关闭某个程序 ---------------------------------操作步骤---------------------------------------- 一.检查光驱是否已经挂载在mnt目录下. 二.安装DHCP. 三.到

在Linux6.5系统中搭建DHCP服务和中继代理

在Linux6.5系统中搭建DHCP服务和中继代理 在C3(linux6.5)上搭建dhcp服务1) 安装DHCP环境软件包,如下图所示(如找不到/mnt/Packages,说明yum仓库没有搭建,请先搭建yum仓库详情请见http://blog.51cto.com/13842738/2135806)2) 对dhcp配置文件进行更改提示配置模板所在位置配置完成进入末行模式,wq保存并退出至此dhcp服务搭建完成service dhcpd start打开服务器,显示OK表示搭建成功,如下图所示 对

centos7中搭建ftp服务

博客搬家: centos7中搭建ftp服务 最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程.过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的,当然排除了一些坑点. 参考:https://www.cnblogs.com/jefflee168/p/6575014.html 1. 安装vsftpd 安装vsftpd: yum install vsftpd -y 启动vsftpd: systemctl start vsftpd 设置开机启动:s

docker中搭建jenkins环境

想在docker中搭建一个jenkins环境.开始的时候我想在先pull centos,然后在里面自己搭建环境,搭建后的环境可以运行,但是不知道挂载哪的数据,这也是我不熟悉jenkins的原因. 同事告诉我一个新的思路https://registry.hub.docker.com/_/jenkins/在官网中,寻找镜像,查看information(原来我也知道这个方法,但是由于都是英语,不想看,但看起来,发现没有想象中的那么枯燥). docker pull jenkins 下载镜像 docker

linux redhat6.5中 搭建DHCP服务

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境中的主机动态的获得IP地址.Gateway地址.DNS服务器地址等信息,并能够提升地址的使用率.实验目标:C3中搭建DHCP 使C1 和C2自动获取IP1:配置二层交换机SW2 添加vlan 10 20 100 并分别将f1/1 f1/2 f1/3加入vlan10 vlan20 vlan100f1/0接口做trunk链

linux redhat6.5 中搭建samba服务

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源

Redhat6.5中搭建DHCP服务

DHCP是动态主机配置协议(Dynamic Host Configure Protocol)的缩写.是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议.DHCP服务避免了因手动设置IP地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成的地址冲突.DHCP提供了安全.可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担.下面我将结合GNS3和VMware模拟DHCP自动分配IP地址 实验拓扑图如下:三层交换机sw1上

搭建jenkins服务中遇到的问题及解决办法

1执行 java -jar jenkins.war时报错java.net.UnknownHostException: XXXX Name or service not known 解决办法:修改/etc/hosts文件 127.0.0.1 主机名 localhost.localdomain localhost 或是再添加一条 127.0.0.1 主机名 2打开localhsot:8080时,报错unable to connect 原因是:我以为执行java -jar jenkins.war 后光

公司内部中搭建wiki服务做项目管理系统

tomcat+mysql+xwiki搭建开源wiki系统 xwiki是使用java语言编写的开源wiki系统 xwiki有多种版本,standalone的版本可以直接下载之后独立安装,默认集成了jetty运行,但是这种方式安装xwiki,运行速度比较慢,在大部分的情况下不能满足企业的需求. 在linux系统上实现部署xwiki也有多种方式: 其中serlet container就有许多:    tomcat    glassfish jboss等 关系型数据库的选择也是比较广泛的,在此使用tom