在2018年年初,Jenkins X首次發佈,它由Apache Groovy語言的建立者Jame Strachan建立。Jenkins X 是一個高度集成化的 CI/CD 平臺,基於 Jenkins 和 Kubernetes 實現,旨在解決微服務體系架構下的雲原生應用的持續交付的問題,簡化整個雲原生應用的開發、運行和部署過程。僅需一條Jenkins X命令,管理員能夠建立一個Kubernetes集羣,並安裝用於管理應用程序、建立流水線並部署一個應用程序到不一樣的環境中的工具。linux
Jenkin X仍是由插件配置的可擴展自動化服務器,可充當持續集成(CI)服務器,持續部署(CD)hub和自動化測試。git
Jenkins X(也稱爲JX)能夠輕鬆地安裝在現有的雲提供商上(如GKE、AKS等)。或者,若是你由本地Kubernetes集羣,也能夠使用Jenkins X。經過jx命令,你能夠在本地或遠程雲提供商(如Google Cloud Platform)上快速部署集羣。github
本文將教您完成在Ubuntu Server 18.04上運行的現有Kubernetes集羣上安裝Jenkins X的過程。bootstrap
我將演示在本地和Google Cloud Platform上部署Kubernetes集羣(使用Jenkins X)。爲此,您須要:api
已安裝Kubernetes的Ubuntu Server的運行實例。瀏覽器
一個Google Cloud Platform賬戶。bash
具備sudo權限的用戶。服務器
網絡鏈接。網絡
除此以外,還需一點時間。架構
讓咱們開始吧!
在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的版本號:
如今,咱們要去部署一個集羣,這一集羣將使用minikube和VirtualBox做爲驅動。部署集羣的命令以下:
jx create cluster minikube
你將會被問到如下問題:
應用於集羣的內存量(默認爲4096)
應用於集羣的核心數(默認爲3)
磁盤大小(默認爲150GB)
選擇驅動程序(從kvm、kvm二、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的要旨。這一工具還有許多其餘功能,強烈建議你閱讀官方文檔: