亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

在Kubernetes上部署和伸縮Jenkins

Pines_Cheng / 1475人閱讀

摘要:在本教程中,我們將使用在上部署和伸縮。它主要用來(lái)幫助操作人員部署伸縮更新和維護(hù)服務(wù),以及提供服務(wù)發(fā)現(xiàn)機(jī)制來(lái)管理節(jié)點(diǎn)集群上的容器化應(yīng)用程序。代理則使用,網(wǎng)絡(luò)啟動(dòng)協(xié)議啟動(dòng),因此容器能夠在啟動(dòng)和運(yùn)行之后自動(dòng)連接到。賬戶我們將在上部署集群。

在本教程中,我們將使用Rancher在Kubernetes上部署和伸縮Jenkins。按照本文的步驟一步步來(lái),你將會(huì)使用到我們用來(lái)測(cè)試實(shí)際構(gòu)建作業(yè)的master-agent體系結(jié)構(gòu),創(chuàng)建出功能齊全的Jenkins。

介 紹

Jenkins是一個(gè)開(kāi)源的持續(xù)集成和持續(xù)交付工具,它可以用來(lái)自動(dòng)構(gòu)建、測(cè)試和部署軟件。在全世界有超過(guò)一百萬(wàn)的用戶在使用Jenkins,它是目前最流行的自動(dòng)化服務(wù)器。Jenkins的優(yōu)勢(shì)包括:

是一個(gè)擁有龐大社區(qū)支持的開(kāi)源軟件

基于Java的代碼庫(kù),使其可以移植到所有主要平臺(tái)

有超過(guò)1000個(gè)插件的豐富生態(tài)系統(tǒng)

Jenkins能夠與主流的源代碼管理系統(tǒng)(Git、SVN、Mercurial以及CVS)、主流的構(gòu)建工具(Ant、Maven、Grunt)、shell腳本和Windows批處理命令、測(cè)試框架、報(bào)表生成器的都良好地協(xié)同工作。Jenkins的插件還提供了對(duì)Docker和Kubernetes的支持,Docker和Kubernetes能夠創(chuàng)建、部署基于云的微服務(wù)環(huán)境,并且把它們投入到測(cè)試和生產(chǎn)部署中。

Jenkins支持master-agent體系結(jié)構(gòu)(許多build agents/構(gòu)建代理根據(jù)master服務(wù)器調(diào)度來(lái)完成任務(wù)),使其具有高度的可伸縮性。Master的工作是安排構(gòu)建作業(yè),將作業(yè)分發(fā)給代理實(shí)際執(zhí)行,監(jiān)視這些代理并獲得構(gòu)建的結(jié)果。除此之外,master服務(wù)器還可以直接執(zhí)行構(gòu)建作業(yè)。

代理的任務(wù)是構(gòu)建從master服務(wù)器發(fā)送過(guò)來(lái)的作業(yè)。作業(yè)可以配置在指定類型的代理商運(yùn)行,如果沒(méi)有特別需求,Jenkins就簡(jiǎn)單地選擇下一個(gè)可用代理。

Jenkins的可伸縮性可以帶來(lái)許多便利:

并行運(yùn)行多個(gè)構(gòu)建方案

自動(dòng)地掛載和移除代理,節(jié)約開(kāi)銷

分配負(fù)載

當(dāng)然,盡管Jenkins包含了這種開(kāi)箱即用的可伸縮性特性,配置它的過(guò)程卻并不是很簡(jiǎn)單。有許多能夠擴(kuò)展Jenkins的選擇,而其中一種強(qiáng)大的選擇就是使用Kubernetes。

Kubernetes是什么?

Kubernetes是一個(gè)開(kāi)源的容器編排工具。它主要用來(lái)幫助操作人員部署、伸縮、更新和維護(hù)服務(wù),以及提供服務(wù)發(fā)現(xiàn)機(jī)制來(lái)管理節(jié)點(diǎn)集群上的容器化應(yīng)用程序。你可以查看官方文檔,了解更多關(guān)于Kubernetes的內(nèi)容和用途:

https://kubernetes.io/docs/co...

Kubernetes是管理可伸縮的、基于容器的工作負(fù)載的最佳工具之一。包括Jenkins在內(nèi)的大多數(shù)應(yīng)用程序都可以進(jìn)行容器化,而這也使得Kubernetes成為了非常好的選擇。

項(xiàng)目目標(biāo)

在我們開(kāi)始之前,先花一點(diǎn)時(shí)間描述一下我們將要構(gòu)建的系統(tǒng)。

我們首先會(huì)將Jenkins master實(shí)例部署到Kubernetes集群上。我們將使用Jenkins的kubernetes插件。我們將使用Jenkins的kubernetes插件,通過(guò)提供動(dòng)態(tài)代理來(lái)適配當(dāng)前的工作負(fù)載,在集群上擴(kuò)展Jenkins。該插件基于具體的Docker鏡像啟動(dòng)代理,為每個(gè)構(gòu)建創(chuàng)建一個(gè)Kubernetes pod。在構(gòu)建完成后,Jenkins將刪除pod來(lái)節(jié)省資源。代理則使用JNLP(Java Network Launch Protocol,Java網(wǎng)絡(luò)啟動(dòng)協(xié)議)啟動(dòng),因此容器能夠在啟動(dòng)和運(yùn)行之后自動(dòng)連接到Jenkins master。

前期準(zhǔn)備和安裝

你需要準(zhǔn)備這些東西來(lái)完成本教程:

Linux機(jī)器用于運(yùn)行Rancher:我們還會(huì)使用它構(gòu)建自定義的Jenkins鏡像??梢园凑誖ancher安裝入門指南在主機(jī)上安裝Docker和Rancher:

https://rancher.com/quick-start/

Docker Hub賬戶:我們需要一個(gè)帶有容器鏡像倉(cāng)庫(kù)的賬戶,為Jenkins master和代理推送自定義鏡像。

GCP賬戶:我們將在GCP上部署Kubernetes集群。谷歌云平臺(tái)的free-tier應(yīng)該能夠完成這項(xiàng)工作。您實(shí)際使用其他公有云,操作也是一樣的。

為Jenkins組件構(gòu)建自定義的鏡像

那么我們先從給Jenkins組件構(gòu)建自定義鏡像開(kāi)始,將它們推送到Docker Hub。

登錄到Linux服務(wù)器,在那里你就可以運(yùn)行Rancher并構(gòu)建鏡像。如果還沒(méi)有安裝Docker和Rancher,請(qǐng)按照Rancher快速入門指南在主機(jī)上安裝Docker和Rancher。主機(jī)準(zhǔn)備好后,我們就可以準(zhǔn)備dockerfile了。

編寫(xiě)Jenkins Master Dockerfile

我們先在當(dāng)前文件夾下創(chuàng)建一個(gè)名為Dockerfile-jenkins-master的文件,來(lái)定義Jenkins master鏡像:

在文件內(nèi)部,加入下面Dockerfile構(gòu)建命令。這些命令使用主Jenkins Docker鏡像作為基礎(chǔ),配置我們用于部署到Kubernetes集群的插件:

完成后,保存并關(guān)閉文件

編寫(xiě)Jenkins代理的Dockerfiles

接下來(lái),我們就可以為Jenkins代理創(chuàng)建Dockerfile文件了。我們將創(chuàng)建兩個(gè)代理鏡像,演示Jenkins如何正確識(shí)別為每個(gè)作業(yè)準(zhǔn)備的正確代理。

在當(dāng)前目錄中創(chuàng)建一個(gè)空文件。我們將把它復(fù)制到鏡像中作為正在構(gòu)建的每個(gè)代理的標(biāo)識(shí)符:

現(xiàn)在,為第一個(gè)代理鏡像創(chuàng)建Dockerfile

該鏡像將把空文件復(fù)制到一個(gè)唯一的名稱,標(biāo)記所使用的代理。

完成之后保存并關(guān)閉文件

最后,定義第二個(gè)代理。這個(gè)和前一個(gè)代理相同,不過(guò)使用了不同的文件標(biāo)識(shí)符:

保存并關(guān)閉文件

現(xiàn)在你的工作目錄看起來(lái)應(yīng)該是這樣的:

構(gòu)建鏡像并Push到Docker Hub

有了準(zhǔn)備好的Dockerfile,我們現(xiàn)在就準(zhǔn)備構(gòu)建和push鏡像到Docker Hub啦。

首先構(gòu)建Jenkins master的鏡像:

注意:下面的命令中,將 替換成自己的Docker Hub賬戶名

[root@rancher-instance jenkins-kubernetes]# docker build -f Dockerfile-jenkins-master -t /jenkins-master .

當(dāng)命令的結(jié)果返回之后,查看新創(chuàng)建的鏡像:

使用賬戶憑證登錄到Docker Hub:

`[root@rancher-instance jenkins-kubernetes]# docker loginLogin with your Docker ID to push and pull images from Docker Hub. If you don"t have a Docker ID, head over to https://hub.docker.com to create one.
Username:
Password:
Login Succeeded`

現(xiàn)在,將鏡像推送到Docker Hub:

注意:下面的命令中,同樣注意替換成自己的Docker Hub賬戶

你可能還需要同樣的命令來(lái)構(gòu)建第二個(gè)鏡像給Jenkins JNLP代理:

注意:下面的命令中,注意將替換成自己的Docker Hub賬戶名

如果一切順利,你就能在Docker Hub賬戶中看到下圖這個(gè)狀態(tài):

使用Rancher部署集群

現(xiàn)在我們的鏡像已經(jīng)發(fā)布,就可以使用Rancher來(lái)幫助部署GKE集群了。如果您之前安裝了Rancher,通過(guò)web瀏覽器訪問(wèn)服務(wù)器的ip地址就能登錄到實(shí)例了。

接下來(lái),創(chuàng)建新的GKE集群。這里為了創(chuàng)建具有訪問(wèn)權(quán)限的服務(wù)賬戶,你需要登錄到谷歌云賬戶。使用其他的公有云服務(wù)所需的步驟也是相似的,具體可以參考文檔學(xué)習(xí)如何創(chuàng)建服務(wù)賬號(hào),以及如何與Rancher一起部署集群:

https://rancher.com/docs/ranc...

在集群上部署Jenkins

在集群準(zhǔn)備好之后,我們就可以部署Jenkins master和創(chuàng)建一些服務(wù)了。如果你對(duì)kubectl比較熟悉,你可以直接用命令行來(lái)實(shí)現(xiàn);不過(guò)通過(guò)Rancher的UI,你也能很容易地部署所有需要的組件。

無(wú)論你選擇何種方式將工作負(fù)載添加到集群上,都需要在本地計(jì)算機(jī)上創(chuàng)建下面的文件來(lái)定義需要?jiǎng)?chuàng)建的對(duì)象。

首先創(chuàng)建一個(gè)文件定義Jenkins部署:

在文件里粘貼下面的內(nèi)容:

注意:下面的內(nèi)容中將替換成自己的Docker Hub賬戶名

`apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: jenkins
spec:
replicas: 1
template:

metadata:
  labels:
    app: jenkins
spec:
  containers:
    - name: jenkins
      image: /jenkins-master
      env:
        - name: JAVA_OPTS
          value: -Djenkins.install.runSetupWizard=false
      ports:
        - name: http-port
          containerPort: 8080
        - name: jnlp-port
          containerPort: 50000
      volumeMounts:
        - name: jenkins-home
          mountPath: /var/jenkins_home
  volumes:
    - name: jenkins-home
      emptyDir: {}`

下面,創(chuàng)建一個(gè)文件配置我們需要的兩個(gè)服務(wù)。

一個(gè)是LoadBalancer服務(wù),它將提供一個(gè)公開(kāi)的IP地址便于我們?cè)贗nternet上訪問(wèn)Jenkins。另一個(gè)是ClusterIP服務(wù),用于在master和代理之間的內(nèi)部通信,之后會(huì)用到該服務(wù):

在文件內(nèi),復(fù)制下面的YAML結(jié)構(gòu):

`apiVersion: v1
kind: Service
metadata:
name: jenkins
spec:
type: LoadBalancer
ports:

- port: 80
  targetPort: 8080

selector:

app: jenkins

apiVersion: v1
kind: Service
metadata:
name: jenkins-jnlp
spec:
type: ClusterIP
ports:

- port: 50000
  targetPort: 50000

selector:

app: jenkins`

在Rancher上,點(diǎn)擊自己管理的集群(例子中名為jenkins)。在左上角的菜單中,選擇Default項(xiàng)目,然后選擇Workloads選項(xiàng)卡。

現(xiàn)在,點(diǎn)擊Import YAML。在接下來(lái)的頁(yè)面中,點(diǎn)擊右上角的Read from a file按鈕。選擇在本地創(chuàng)建的deployment.yml文件并點(diǎn)擊Import。

Rancher將在集群上面部署一個(gè)基于你Jenkins master鏡像的pod

接下來(lái),我們需要在Jenkins master上配置訪問(wèn)UI的方式。

在Load Balanced選項(xiàng)卡中,按照先前導(dǎo)入文件一樣的操作。單擊Import YAML按鈕,接著點(diǎn)Read from a file按鈕。然后從自己的電腦中選擇service.yml文件,點(diǎn)擊Import按鈕。

Rancher會(huì)開(kāi)始創(chuàng)建你的服務(wù)。部署負(fù)載均衡會(huì)花費(fèi)一些時(shí)間。

在service狀態(tài)成為Active后,你可以點(diǎn)擊在負(fù)載均衡器行后側(cè)的三個(gè)垂直點(diǎn),選擇View/Edit YAML來(lái)找到它的公共IP地址。在這里,向下滾動(dòng)界面找到在status->loadBalancer->ingress->ip下的IP地址。

這樣我們就可以通過(guò)該IP地址在web瀏覽器中訪問(wèn)Jenkins UI了。

配置動(dòng)態(tài)的構(gòu)建代理

有了Jenkins master啟動(dòng)運(yùn)行后,我們可以進(jìn)一步配置動(dòng)態(tài)構(gòu)建代理,以在必要的時(shí)候可以自動(dòng)啟動(dòng)Pods。

禁用默認(rèn)Master構(gòu)建代理

Jenkins UI中左側(cè)的Build Executor Status下,默認(rèn)配置了兩個(gè)Executor,等待執(zhí)行構(gòu)建作業(yè),它們是由Jenkins master提供的。

主實(shí)例應(yīng)該只負(fù)責(zé)調(diào)度構(gòu)建作業(yè)、將作業(yè)分發(fā)給代理以供執(zhí)行、監(jiān)視代理并獲取構(gòu)建結(jié)果。因?yàn)槲覀儾幌M鲗?shí)例執(zhí)行構(gòu)建,因此要禁用這些。

點(diǎn)擊Manage Nodes之后的Manage Jenkins。

單擊與master行上的齒輪圖標(biāo)。

接下來(lái)的頁(yè)面中,把# of executors設(shè)置成0,點(diǎn)擊Save。

這兩個(gè)空閑的executors將從UI左側(cè)的Build Executor Status中刪除。

收集配置信息

為了在Kubernetes集群上自動(dòng)部署構(gòu)建代理,我們需要一些信息來(lái)配置Jenkins。我們需要三條來(lái)自GCP賬戶的信息以及一條來(lái)自ClusterIP服務(wù)中的信息。

在你的GCP賬戶中,選擇Kubernetes Engine,接著是Clusters,然后點(diǎn)擊集群的名稱。在Detail列中,復(fù)制端點(diǎn)IP供之后使用。這是我們需要讓Jenkins連接到集群的URL:

下一步,點(diǎn)擊端點(diǎn)右側(cè)的Show credentials。復(fù)制Username和Password。

現(xiàn)在,切換到Rancher UI。在左上角菜單中,選擇Jenkins集群上的Default項(xiàng)目。在上方的導(dǎo)航窗口中選擇Workloads選項(xiàng)卡,然后單擊頁(yè)面上的Service Discovery選項(xiàng)卡:

點(diǎn)擊jenkins-jnlp行上垂直的三個(gè)點(diǎn),然后單擊View/Edit YAML。復(fù)制spec > clusterIP以及spec > ports > port中的值備用。

配置Jenkins Kubernetes插件

返回主Jenkins儀表盤,點(diǎn)擊Manage Jenkins,然后選擇Manage Plugins:

點(diǎn)擊Installed選項(xiàng)卡并查看Kubernetes插件是否安裝:

現(xiàn)在我們來(lái)配置插件。前往Manage Jenkins并選擇Configure System:

滑到頁(yè)面底部的Cloud部分。點(diǎn)擊Add a new cloud,選擇Kubernetes。

在下面的表單中,Kubernetes URL字段上輸入https://,然后輸入從GCP賬戶復(fù)制的集群端點(diǎn)IP地址。

在Credentials下,點(diǎn)擊Add按鈕,選擇Jenkins。在出現(xiàn)的表單上,輸入從GCP賬戶復(fù)制的用戶名和密碼,單擊底部的Add按鈕。

返回到Kubernetes表單,從Credentials下拉菜單中選擇剛才添加的憑據(jù)并單擊Test Connection按鈕。如果配置正確,則會(huì)顯示“Connection test successful”。

現(xiàn)在,向下滾動(dòng)到頁(yè)面底部的Images部分,單擊Add Pod Template按鈕,然后選擇Kubernetes Pod Template。 使用唯一值填寫(xiě)“Name”和“Labels”字段,以標(biāo)識(shí)您的第一個(gè)代理。 我們將使用標(biāo)簽指定應(yīng)該使用哪個(gè)代理鏡像來(lái)運(yùn)行每個(gè)構(gòu)建。

接下來(lái),在Jenkins tunnel字段中,輸入你在Rancher UI中從jenkins-jnlp服務(wù)檢索到的IP地址和端口,用冒號(hào)分隔:

現(xiàn)在,在Container字段中,單擊Add Container按鈕并選擇Container Template,在彈出的內(nèi)容中填寫(xiě)以下字段:

Name: jnlp(這是Jenkins代理需要的)

Docker image:/Jenkins-slave-jnlp1(確保更改Docker Hub用戶名)

Command to run:刪除這里的值

Arguments to pass to the command:刪除這里的值

其余字段保持原樣。

接下來(lái),單擊Add Pod Template按鈕,再次選擇Kubernetes Pod Template。對(duì)創(chuàng)建的第二個(gè)代理鏡像重復(fù)剛才的過(guò)程,需要注意的是,在需要的時(shí)候要修改那些對(duì)應(yīng)于第二個(gè)鏡像的值:

單擊Save按鈕保存修改并繼續(xù)。

測(cè)試動(dòng)態(tài)構(gòu)建作業(yè)

現(xiàn)在我們已經(jīng)完成了配置工作,我們可以創(chuàng)建一些構(gòu)建作業(yè),保證Jenkins能夠在Kubernetes之上進(jìn)行伸縮。這里我們將為每個(gè)Jenkins代理創(chuàng)建5個(gè)構(gòu)建作業(yè)。

在Jenkins主頁(yè)面,單擊左側(cè)的New Item,為第一個(gè)代理的第一個(gè)構(gòu)建輸入名稱,選擇Freestyle project并單擊OK按鈕。

在下一頁(yè)的Label Expression字段中,輸入你為第一個(gè)Jenkins代理鏡像設(shè)置的標(biāo)簽,如果單擊字段之外,會(huì)出現(xiàn)一條消息,提示標(biāo)簽由云提供服務(wù)。

向下滾動(dòng)到Build Environment部分,檢查Color ANSI Console Output。

在Build部分,單擊Add build step并選擇Execute shell。把下面的腳本粘貼進(jìn)去。

完成之后單擊Save。

給第一個(gè)代理創(chuàng)建另外四個(gè)工作則是單擊New Item,填寫(xiě)新名稱并使用Copy from字段來(lái)從第一個(gè)構(gòu)建中復(fù)制。你可以在無(wú)需對(duì)第一個(gè)構(gòu)建作更改的情況下保存每個(gè)構(gòu)建。

接下來(lái),為第二個(gè)Jenkins代理配置第一個(gè)作業(yè)。單擊New Item,給第二個(gè)代理的第一個(gè)作業(yè)選個(gè)名字,再一次從第一個(gè)代理中復(fù)制作業(yè)。這一次我們將在保存之前修改配置頁(yè)面上的字段。

首先,修改Label Expression字段匹配第二個(gè)代理的標(biāo)簽。

接著,用下面的腳本替換掉Build部分文本框中的腳本:

完成后單擊Save。

同樣按照剛剛我們的流程,為第二個(gè)代理創(chuàng)建另外四個(gè)構(gòu)建。

現(xiàn)在,轉(zhuǎn)回到主頁(yè)面,單擊每行最右邊的圖標(biāo),啟動(dòng)全部剛剛創(chuàng)建的10個(gè)作業(yè)。在啟動(dòng)之后,它們會(huì)按照Build Queue部分的指示排隊(duì)等待執(zhí)行:

大約幾秒鐘之后,會(huì)開(kāi)始創(chuàng)建Pods來(lái)執(zhí)行構(gòu)建(你可以在Rancher的Workload選項(xiàng)卡中檢驗(yàn)這一點(diǎn))。Jenkins會(huì)為每個(gè)作業(yè)創(chuàng)建一個(gè)pod。在每個(gè)代理啟動(dòng)時(shí),它連接到master并從隊(duì)列中接收要執(zhí)行的作業(yè)。

代理完成了自己的工作后,它就會(huì)自動(dòng)從集群中刪除:

要檢查作業(yè)的狀態(tài),可以單擊每個(gè)代理中的一項(xiàng)作業(yè)。從Build History中單擊構(gòu)建,然后點(diǎn)擊Console Output。由第一個(gè)代理執(zhí)行的作業(yè)應(yīng)該指定使用了jenkins-slave1 Docker鏡像,而由第二個(gè)代理執(zhí)行的構(gòu)建應(yīng)該指定使用了jenkins-slave2鏡像:

如果你得到了上面的輸出,那么Jenkins的配置就是正確的,而且是按照預(yù)期的方式在運(yùn)行的?,F(xiàn)在你就可以開(kāi)始定制自己的Kubernetes的構(gòu)建系統(tǒng),幫助自己的團(tuán)隊(duì)測(cè)試和發(fā)布軟件啦。

結(jié) 論

在本文中,我們配置了Jenkins來(lái)按需自動(dòng)部署構(gòu)建代理,將其連接到了Rancher管理的Kubernetes集群。為此,我們完成了下面的步驟:

使用Rancher創(chuàng)建了一個(gè)集群

為Jenkins master和代理創(chuàng)建了自定義Docker鏡像

將Jenkins master和L4 LoadBalancer服務(wù)部署在Kubernetes集群上

在集群上配置了Jenkins kubernetes插件,自動(dòng)生成動(dòng)態(tài)代理

使用帶有專用代理鏡像的多個(gè)構(gòu)建作業(yè)測(cè)試場(chǎng)景

本文著重展現(xiàn)了設(shè)置Jenkins master和代理體系結(jié)構(gòu)的基本的必要配置。我們了解了Jenkins如何使用JNLP啟動(dòng)代理,以及容器如何自動(dòng)連接到Jenkins master來(lái)接受指令。為了實(shí)現(xiàn)這一點(diǎn),我們使用Rancher創(chuàng)建集群、部署工作負(fù)載并監(jiān)控產(chǎn)生的Pods。在這之后,我們又依靠Jenkins Kubernetes插件將所有不同的組件連接在了一起。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/32826.html

相關(guān)文章

  • 樂(lè)心醫(yī)療的 Kubernetes云平臺(tái)建設(shè)實(shí)踐

    摘要:宋體自年被開(kāi)源以來(lái),很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。宋體年月,樂(lè)心醫(yī)療的第一個(gè)生產(chǎn)用集群正式上線。所以于年推出后,樂(lè)心醫(yī)療的運(yùn)維團(tuán)隊(duì)在開(kāi)會(huì)討論之后一致決定盡快遷移到。Kubernetes 自 2014 年被 Google 開(kāi)源以來(lái),很快便成為了容器編排領(lǐng)域的標(biāo)準(zhǔn)。因其支持自動(dòng)化部署、大規(guī)??缮炜s和容器化管理等天然優(yōu)勢(shì),已經(jīng)被廣泛接納。但由于 Kubernetes 本身的復(fù)雜性,也讓很多企業(yè)的...

    testHs 評(píng)論0 收藏0
  • 【容器云 UK8S】最佳實(shí)踐:基于Jenkins的CI/CD實(shí)踐

    摘要:擴(kuò)展性好當(dāng)集群的資源嚴(yán)重不足而導(dǎo)致排隊(duì)等待時(shí),可以很容易的添加一個(gè)到集群中,從而實(shí)現(xiàn)擴(kuò)展。用法,選擇盡可能使用這個(gè)節(jié)點(diǎn)鏡像,填寫(xiě),這個(gè)容器鏡像是我們的運(yùn)行環(huán)境。更新文件,這里我們只是將中的鏡像更換成最新構(gòu)建出的鏡像?;贘enkins的CI/CD實(shí)踐[TOC]一、概要提到K8S環(huán)境下的CI/CD,可以使用的工具有很多,比如Jenkins、Gitlab CI、新興的drone等,考慮到大多公司...

    Tecode 評(píng)論0 收藏0
  • 馬斯洛理論告訴你,Kubernetes可以滿足微服務(wù)的這些需求

    摘要:馬斯洛使用諸如生理安全歸屬感和愛(ài)尊重自我實(shí)現(xiàn)和自我超越等來(lái)描述人類動(dòng)機(jī)通常所經(jīng)歷的階段。這就是人們使用谷歌引擎或容器服務(wù)的原因。 需求層次理論是由心理學(xué)家艾伯特·馬斯洛設(shè)計(jì)的,它是一種解釋人類動(dòng)機(jī)的心理學(xué)理論,它由多層次的人類需求模型組成,通常被描述成金字塔內(nèi)的等級(jí)層次。馬斯洛使用諸如生理、安全、歸屬感和愛(ài)、尊重、自我實(shí)現(xiàn)和自我超越等來(lái)描述人類動(dòng)機(jī)通常所經(jīng)歷的階段。作為人類,首先需要滿...

    RayKr 評(píng)論0 收藏0
  • Kubernetes宜信落地實(shí)踐

    摘要:容器云的背景伴隨著微服務(wù)的架構(gòu)的普及,結(jié)合開(kāi)源的和等微服務(wù)框架,宜信內(nèi)部很多業(yè)務(wù)線逐漸了從原來(lái)的單體架構(gòu)逐漸轉(zhuǎn)移到微服務(wù)架構(gòu)。 容器云的背景 伴隨著微服務(wù)的架構(gòu)的普及,結(jié)合開(kāi)源的Dubbo和Spring Cloud等微服務(wù)框架,宜信內(nèi)部很多業(yè)務(wù)線逐漸了從原來(lái)的單體架構(gòu)逐漸轉(zhuǎn)移到微服務(wù)架構(gòu)。應(yīng)用從有狀態(tài)到無(wú)狀態(tài),具體來(lái)說(shuō)將業(yè)務(wù)狀態(tài)數(shù)據(jù)如:會(huì)話、用戶數(shù)據(jù)等存儲(chǔ)到中間件中服務(wù)中。 showI...

    fxp 評(píng)論0 收藏0
  • Kubernetes宜信落地實(shí)踐

    摘要:容器云的背景伴隨著微服務(wù)的架構(gòu)的普及,結(jié)合開(kāi)源的和等微服務(wù)框架,宜信內(nèi)部很多業(yè)務(wù)線逐漸了從原來(lái)的單體架構(gòu)逐漸轉(zhuǎn)移到微服務(wù)架構(gòu)。 容器云的背景 伴隨著微服務(wù)的架構(gòu)的普及,結(jié)合開(kāi)源的Dubbo和Spring Cloud等微服務(wù)框架,宜信內(nèi)部很多業(yè)務(wù)線逐漸了從原來(lái)的單體架構(gòu)逐漸轉(zhuǎn)移到微服務(wù)架構(gòu)。應(yīng)用從有狀態(tài)到無(wú)狀態(tài),具體來(lái)說(shuō)將業(yè)務(wù)狀態(tài)數(shù)據(jù)如:會(huì)話、用戶數(shù)據(jù)等存儲(chǔ)到中間件中服務(wù)中。 showI...

    Labradors 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<