在2018年年初,Jenkins X首次发布,它由Apache Groovy语言的创建者Jame Strachan创建。Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。仅需一条Jenkins X命令,管理员可以创建一个Kubernetes集群,并安装用于管理应用程序、创建流水线并部署一个应用程序到不同的环境中的工具。

Jenkin X还是由插件配置的可扩展自动化服务器,可充当持续集成(CI)服务器,持续部署(CD)hub和自动化测试。

Jenkins X(也称为JX)可以轻松地安装在现有的云提供商上(如GKE、AKS等)。或者,如果你由本地Kubernetes集群,也可以使用Jenkins X。通过jx命令,你可以在本地或远程云提供商(如Google Cloud Platform)上快速部署集群。

本文将教您完成在Ubuntu Server 18.04上运行的现有Kubernetes集群上安装Jenkins X的过程。

前期准备

我将演示在本地和Google Cloud Platform上部署Kubernetes集群(使用Jenkins X)。为此,您需要:

  • 已安装Kubernetes的Ubuntu Server的运行实例。

  • 一个Google Cloud Platform帐户。

  • 具有sudo权限的用户。

  • 网络连接。

除此之外,还需一点时间。

让我们开始吧!

安装Jenkins X

在Ubuntu上安装Jenkins X十分简单。从Jenkins X Github官方页面(https://github.com/jenkins-x/ )上下载可执行的二进制文件,然后将其移到正确的目录中。为此,请通过SSH登录到服务器,或直接登录到控制台,在服务器出现bash提示后,输入命令:

curl -L "https://github.com/jenkins-x/jx/releases/download/$(curl --silent "https://github.com/jenkins-x/jx/releases/latest" | sed 's#.*tag/\(.*\)\".*#\1#')/jx-linux-amd64.tar.gz" | tar xzv "jx"

以上命令将下载最新版本的Jenkins X,然后解压二进制文件。命令完成之后,你应该在当前工作目录中看到一个名为jx的可执行文件(如下图):

为了移动Jenkins X二进制文件,请输入以下命令:

sudo mv jx /usr/local/bin

如果你选择使用一个虚拟机环境来部署一个集群,你必须安装它。为此,你需要安装KVM、KVM-2或VirtualBox。为了简化操作,我们将安装VirtualBox。这会安装X server,但你无需使用它。

要安装VirtualBox,请输入命令:

sudo apt-get install virtualbox -y

安装将花费一些时间,等安装结束之后,你需要在Ubuntu Server上安装minikube(这将是我们的提供商)。为了完成这一操作,使用以下命令下载必要的文件:

wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

使用以下命令更改下载文件的权限:

chmod +x minikube-linux-amd64

使用命令移动(并重命名)文件到适当的目录中:

sudo mv minikube-linux-amd64 /usr/local/bin/minikube

使用以下命令,你应该能看到minikube已经安装完成:

minikube version

下图将展示minikube的版本号:

jx命令部署一个集群

现在,我们要去部署一个集群,这一集群将使用minikube和VirtualBox作为驱动。部署集群的命令如下:

jx create cluster minikube

你将会被问到以下问题:

  • 应用于集群的内存量(默认为4096)

  • 应用于集群的核心数(默认为3)

  • 磁盘大小(默认为150GB)

  • 选择驱动程序(从kvm、kvm2、virtualBox、无中选择)

如果你选择以下选项:

  • 内存4096

  • 核心3

  • 磁盘空间20GB

  • VirtualBox驱动程序

有效的命令如下:

minikube start --memory 4096 --cpus 3 --disk-size 20GB --vm-driver virtualbox --bootstrapper=kubeadm

你也可以不使用驱动在本地部署一个集群。要完成此操作,你必须使用通过sudo运行jx命令,如:

sudo jx create cluster minikube --local-cloud-environment=true

命令将运行如下:

minikube start --memory 4096 --cpus 3 --disk-size 20GB --vm-driver none --bootstrapper=kubeadm

jx命令将负责提取所有必要的镜像并部署配置的集群。

部署到谷歌云

假设您要将集群部署到Google Cloud Platform, Jenkins X也可以实现。在执行此操作之前,你必须首先安装gcloud应用程序。为此,请返回到终端窗口,并使用以下命令下载源文件:

wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-265.0.0-linux-x86_64.tar.gz

使用以下命令解压文件:

tar -zxf google-cloud-sdk-*

使用以下命令进入新创建的目录:

cd google-cloud-sdk

最后,使用命令运行安装程序:

./install.sh

处理完之后,请使用以下命令更新gcloud的所有内容:

gcloud components update

最后,你必须使用以下命令登录到你的Google Cloud Platform帐户:

gcloud auth login

复制链接到浏览器,选择要使用的谷歌账户,然后复制获得的验证码,将其粘贴到命令提示符下,按Enter键。现在,你已经登录Google Cloud Plartform账户,可以发出以下命令:

jx create cluster gke --skip-login

出现提示时,确保选择要使用的Google Cloud Project:

做出选择并按下Enter键后,系统会提示您选择一个区域:

接着,将问你Jenkins的安装类型(在有Tekton的Serverless Jenkins X 流水线或有Jenkinsfikes的Static Jenks Server中选择)。请注意,使用tekton时,仅支持kaniko作为构建器。

然后,你需要输入名称和邮箱地址以用于git,然后为你的Github账户获取必要的API密钥。之后,集群将部署并可以为你工作。

这就是在现有Kubernetes集群上安装和使用Jenkins X的要旨。这一工具还有许多其他功能,强烈建议你阅读官方文档:

https://jenkins-x.io/docs/

超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!的更多相关文章

  1. Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14

    目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...

  2. Hadoop教程(五)Hadoop分布式集群部署安装

    Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...

  3. k8s第二回之k8s集群的安装

    1. k8s集群的安装 目录 1. k8s集群的安装 1.架构: 2.环境准备 3.master节点安装etcd 4. master节点安装kubernetes 5.node节点安装kubernete ...

  4. k8s集群中安装rook-ceph

    容器的持久化存储 容器的持久化存储是保存容器存储状态的重要手段,存储插件会在容器里挂载一个基于网络或者其他机制的远程数据卷,使得在容器里创建的文件,实际上是保存在远程存储服务器上,或者以分布式的方式保 ...

  5. 从认证到调度,K8s 集群上运行的小程序到底经历了什么?

    导读:不知道大家有没有意识到一个现实:大部分时候,我们已经不像以前一样,通过命令行,或者可视窗口来使用一个系统了. 前言 现在我们上微博.或者网购,操作的其实不是眼前这台设备,而是一个又一个集群.通常 ...

  6. 在k8s集群中安装rook-ceph 1.8版本步骤

    官方文档地址:https://rook.io/docs/rook/v1.8/quickstart.html Kubernetes 最小版本号 Kubernetes 最小版本号:Kubernetes v ...

  7. 在k8s集群中安装traefik,并结合kuboard界面使用

    安装traefik 参考步骤:https://blog.51cto.com/u_13760351/2764008?xiangguantuijian&01 修改好的四个yaml文件下载地址:ht ...

  8. 使用Kubeadm创建k8s集群之节点部署(三十一)

    前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不 ...

  9. 轻量化安装 TKEStack:让已有 K8s 集群拥有企业级容器云平台的能力

    关于我们 更多关于云原生的案例和知识,可关注同名[腾讯云原生]公众号~ 福利: ①公众号后台回复[手册],可获得<腾讯云原生路线图手册>&<腾讯云原生最佳实践>~ ②公 ...

随机推荐

  1. linux 打包 | autoconf 使用方法

    面试题 嵌入式 0x10道题目 宏定义 #define 宏体 宏体 (大写) #define SECOND_OF_YEAR (365*24*3600)UL 可移植性 数据声明 一个存有10个指针的数组 ...

  2. python入门斐波那契数列之迭代,递归

    迭代 def fab(n): a1=1 a2=1 a3=1 if n < 1 : print("输入有误!") return -1 while n-2 > 0 : a3 ...

  3. Sturts2整合Spring报错:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml];

    十一月 17, 2019 1:11:44 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...

  4. 关于css中的字体样式

    1.决定字体的属性 color:字体颜色  属性值:单词,十六进制表示,rgb 2.字体大小 font-size:12px:属性值是整数字,不要带小数,单位是px叫做像素单位:凡是由像素拼成的图片我们 ...

  5. 领扣(LeetCode)字符串相加 个人题解

    给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包 ...

  6. Nginx 匹配流程一览

    在 nginx server 模块中,location 的定义长被用来匹配一个标准的 URI, 并根据 URI 的不同做出相应的服务方案. nginx location 匹配的优先级 在 locati ...

  7. 【NServiceBus】什么是Saga,Saga能做什么

    前言           Saga单词翻译过来是指尤指古代挪威或冰岛讲述冒险经历和英雄业绩的长篇故事,对,这里强调长篇故事.许多系统都存在长时间运行的业务流程,NServiceBus使用基于事件驱动的 ...

  8. SoapUI使用JDBC请求连接数据库及断言的使用

    SoapUI提供了用来配置JDBC数据库连接的选项,因此我们可以在测试中使用JDBC数据源.JDBC数据接收器和JDBC请求步骤. 为了能够配置数据连接,就必须有驱动程序和连接串,SoapUI中已经提 ...

  9. 前端的构建化工具Webpack

    经常看到如jquery-3.0.0.js和jquery-3.0.0-min.js等两相似的文件名. 其实以上两个文件名的内容是一样的,不过带min代表的是占用最小的空间,为项目提高性能.压缩的部分如换 ...

  10. 使用TensorRT对caffe和pytorch onnx版本的mnist模型进行fp32和fp16 推理 | tensorrt fp32 fp16 tutorial with caffe pytorch minist model

    本文首发于个人博客https://kezunlin.me/post/bcdfb73c/,欢迎阅读最新内容! tensorrt fp32 fp16 tutorial with caffe pytorch ...