在 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/
来源: https://www.cnblogs.com/rancherlabs/p/12029147.html