在现有K8S集群上安装部署JenkinsX
在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=kubeadmjx命令將負責提取所有必要的鏡像并部署配置的集群。
部署到谷歌云
假設您要將集群部署到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://blog.csdn.net/rancherlabs/article/details/103505613
總結
以上是生活随笔為你收集整理的在现有K8S集群上安装部署JenkinsX的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k8s pod重启策略:Always、O
- 下一篇: k8s pod应用升级回滚(set im