日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

helm安装_Helm部署和体验jenkins

發(fā)布時(shí)間:2025/3/12 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 helm安装_Helm部署和体验jenkins 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

運(yùn)行在Kubernetes上的Jenkins

下圖來自rancher官方博客,在kubernetes環(huán)境下,jenkins任務(wù)被交給各個(gè)pod執(zhí)行,這些pod在需要時(shí)被創(chuàng)建,任務(wù)結(jié)束后被銷毀,這樣既能合理利用資源,又能給每個(gè)任務(wù)提供一致的干凈的初始化環(huán)境(也可以保留pod,如查問題的時(shí)候)

如何在kubernetes快速部署jenkins

通過Helm可以快速且簡單的部署多種應(yīng)用,關(guān)于helm的安裝和使用請參考《部署和體驗(yàn)Helm(2.16.1版本)》

環(huán)境信息

本次實(shí)戰(zhàn)的環(huán)境信息如下:

  • kubernetes集群:三臺CentOS7.7服務(wù)器
  • kubernetes版本:1.15.3
  • helm版本:2.16.1
  • jenkins版本:2.190.3
  • 準(zhǔn)備工作

    除了提前準(zhǔn)備好kubernetes環(huán)境,還需要做好以下準(zhǔn)備工作:

    • 準(zhǔn)備好helm,您可以參考《部署和體驗(yàn)Helm(2.16.1版本)》
    • 準(zhǔn)備好NFS服務(wù),這樣就算jenkins的pod被銷毀重建,也不會丟失數(shù)據(jù),NFS服務(wù)的搭建您可以參考《Ubuntu16環(huán)境安裝和使用NFS》
      準(zhǔn)備完成后可以開始實(shí)戰(zhàn)了

    本次實(shí)戰(zhàn)的namespace

    本次實(shí)戰(zhàn)使用名為helm-jenkins的namespace,執(zhí)行以下命令創(chuàng)建:

    kubectl create namespace helm-jenkins

    創(chuàng)建PV

    為了后面的jenkins服務(wù)順利啟動,需要預(yù)先部署好pv:

    • 新建名為pv-helm-jenkins.yaml的文件,內(nèi)容如下,其中192.168.133.142是NFS服務(wù)器地址,/usr/local/work/test/002是分配給本次實(shí)戰(zhàn)使用的NFS文件夾:
    apiVersion: v1kind: PersistentVolumemetadata: name: helm-jenkins namespace: helm-jenkinsspec: capacity: storage: 10Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle nfs: path: /usr/local/work/test/002 server: 192.168.133.142
    • 執(zhí)行命令kubectl create -f pv-helm-jenkins.yaml,創(chuàng)建pv
    • 查看pv是否已經(jīng)就緒:
    [root@node1 helm-jenkins]# kubectl get pvNAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGEhelm-jenkins 10Gi RWO Recycle Available 5s 14h

    helm安裝jenkins

    • 確保helm2.16.1版本安裝完畢,并且可以正常工作:
    [root@node1 helm-jenkins]# helm versionClient: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
    • 確保以下helm repo準(zhǔn)備好(如果沒有可以通過helm repo add添加):
    [root@node1 helm-jenkins]# helm repo listNAME URL stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    • 執(zhí)行以下命令,即可創(chuàng)建jenkins的deployment、service等資源:
    helm install --namespace helm-jenkins --name my-jenkins stable/jenkins
    • 執(zhí)行完畢后,控制臺輸出以下內(nèi)容:
    NOTES:1. Get your 'admin' user password by running: printf $(kubectl get secret --namespace helm-jenkins my-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo2. Get the Jenkins URL to visit by running these commands in the same shell: NOTE: It may take a few minutes for the LoadBalancer IP to be available. You can watch the status of by running 'kubectl get svc --namespace helm-jenkins -w my-jenkins' export SERVICE_IP=$(kubectl get svc --namespace helm-jenkins my-jenkins --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}") echo http://$SERVICE_IP:8080/login3. Login with the password from step 1 and the username: admin

    上述內(nèi)容的第一條給出重要提示:獲取admin賬號密碼的方法,執(zhí)行以下命令即可:

    printf $(kubectl get secret --namespace helm-jenkins my-jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo

    如下圖紅框所示,我這里得到了admin密碼為Eq6WxHvJ2V:

    • 檢查服務(wù),發(fā)現(xiàn)helm-jenkins這個(gè)namespace下有兩個(gè)服務(wù):my-jenkinsmy-jenkins-agent,前者就是jenkins網(wǎng)站,后者用來接收執(zhí)行任務(wù)的jenkins實(shí)例的注冊:
    [root@node1 helm-jenkins]# kubectl get svc -n helm-jenkinsNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEmy-jenkins LoadBalancer 10.233.10.35 8080:31763/TCP 31mmy-jenkins-agent ClusterIP 10.233.35.20 50000/TCP 31m
    • my-jenkins這個(gè)服務(wù)的類型是LoadBalancer,8080端口被映射到宿主機(jī)的31763端口,因此,使用kubernetes集群中一臺宿主機(jī)的IP,再加上31763端口即可通過瀏覽器訪問,如下圖:
    • 至此,jenkins安裝已完成,接下來要做必要的設(shè)置

    設(shè)置kubernetes插件

    為了讓jenkins在以下模式工作,還需要設(shè)置kubernetes插件

    • 點(diǎn)擊下圖紅框中的"Manage Jenkins",進(jìn)入設(shè)置頁面
    • 由于很多插件版本較舊,頁面上會有升級提示,這里暫時(shí)用不到,因此直接點(diǎn)擊下圖紅框中的"Configure System"
    • 點(diǎn)擊下圖紅框1中的"Test Connection”按鈕,您會見到紅框2中的錯(cuò)誤信息:
    • 產(chǎn)生上述錯(cuò)誤的原因,是由于jenkins容器沒有權(quán)限訪問kubernetes的api server,為了解決此問題,要先搞清楚容器的身份,我們知道容器在kubernetes環(huán)境中都有自己的serviceaccount,執(zhí)行命令kubectl get serviceaccount -n helm-jenkins查看當(dāng)前namespace下的serviceaccount:
    [root@node1 helm-jenkins]# kubectl get serviceaccount -n helm-jenkinsNAME SECRETS AGEdefault 1 3h55m

    可見jenkins容器的serviceaccount是default

    • 知道了容器的serviceaccount,上述問題就好解決了,我們用RBAC將訪問api server所需權(quán)限綁定給default即可,這里為了省事兒就不將權(quán)限一一列出了,接下來直接給default最高權(quán)限(生產(chǎn)環(huán)境千萬別這么做,必須按需分配);
    • 新建名為rbac-helm-jenkins-default.yaml的文件,內(nèi)容如下:
    apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRoleBindingmetadata: name: rbac-helm-jenkins-default namespace: helm-jenkinsroleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-adminsubjects:- kind: ServiceAccount name: default namespace: helm-jenkins
    • 執(zhí)行命令kubectl create -f rbac-helm-jenkins-default.yaml使得RBAC生效
    • 再次回到之前的頁面點(diǎn)擊"Test Connection"按鈕,如下圖,提示"Connection successful":
    • 接下來設(shè)置Pod模板參數(shù),如下圖,namepsace要設(shè)置為helm-jenkins,另外要記下來Labels的值my-jenkins-jenkins-slave,后面會用到:
    • 點(diǎn)擊底部的"Save"按鈕,使設(shè)置生效;
    • 設(shè)置完畢,接下來創(chuàng)建任務(wù)體驗(yàn)一下kubernetes上的jenkins功能

    體驗(yàn)Freestyle project

    • 創(chuàng)建一個(gè)Freestyle project,如下圖:
    • 如下圖紅框,表單中Label Expression的值是前面記下來的my-jenkins-jenkins-slave
    • 本次任務(wù)的具體內(nèi)容很簡單,執(zhí)行一段shell,輸出"Hello World!",如下圖所示:
    • 點(diǎn)擊底部的"Save"按鈕保存
    • 點(diǎn)擊下圖紅框中的"Build Now",即可開始構(gòu)建:
    • 如果是第一次執(zhí)行,會觸發(fā)jenkins任務(wù)pod的docker鏡像的下載,您需要耐心等候一會兒;
    • 此時(shí)去控制臺執(zhí)行命令kubectl get pods -n helm-jenkins查看pod,會發(fā)現(xiàn)有新的pod出現(xiàn),如下所示,這是執(zhí)行jenkins任務(wù)的pod:
    [root@node1 helm-jenkins]# kubectl get pods -n helm-jenkinsNAME READY STATUS RESTARTS AGEdefault-66vcq 0/1 ContainerCreating 0 1smy-jenkins-74bcdfc566-jbw28 1/1 Running 0 5h5m
    • 返回jenkins頁面,可見任務(wù)已經(jīng)執(zhí)行完畢:
    • 再去控制臺查看pod,發(fā)現(xiàn)剛剛創(chuàng)建的pod已經(jīng)消失了
    • 至此,kubernetes環(huán)境部署和體驗(yàn)jenkins的實(shí)戰(zhàn)就完成了,希望本文帶給您一些參考信息。

    歡迎關(guān)注公眾號:程序員欣宸

    總結(jié)

    以上是生活随笔為你收集整理的helm安装_Helm部署和体验jenkins的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚欧洲乱码视频 | 久久久男女 | 日本特黄特色aaa大片免费 | 欧美aaa级 | 手机在线小视频 | 五十路中出| 在线观看毛片视频 | 亚洲色图日韩精品 | 日韩精品片 | 男女黄色录像 | 久久婷婷五月综合色国产香蕉 | 在线视频区| 欧洲一级黄色片 | 天天爱综合| 久久蜜臀精品av | 泰国午夜理伦三级 | 久久久精品国产sm调教 | 国产精品熟女久久久久久 | 国产成人啪免费观看软件 | 中文字幕亚洲综合 | 精品视频99 | 超碰在线视屏 | 99热最新网址 | 韩国成人在线 | 嫩草研究院在线 | 亚洲大胆视频 | 女人十八毛片嫩草av | 草草影院ccyycom| 女生扒开尿口让男生桶 | 少妇媚药按摩中文字幕 | 伊人77| 亚洲AV无码成人精品区麻豆 | 日韩精品激情 | 国产精品入口麻豆九色 | 美女日批网站 | 成人网在线视频 | 那个网站可以看毛片 | 在线观看a级片 | 一区二区三区视频在线免费观看 | 香港一级纯黄大片 | 国产精品久久久久久人 | 蜜臀av一区二区三区激情综合 | 日韩美女激情 | 调教91| 黄色av网站网址 | 久久久精品免费看 | 日韩欧美亚洲一区二区 | 亚洲av无码成人精品国产 | 激情视频网站在线观看 | 成人欧美一级特黄 | 欧美视频一区二区三区四区在线观看 | 爱爱精品视频 | 日韩福利小视频 | 欧美一级片 | 久久婷婷国产麻豆91 | 一本久道久久综合无码中文 | 精品视频一区二区在线 | 少妇情理伦片丰满午夜在线观看 | 2022天天操| 男女涩涩| 在线视频三区 | 国产精品国产精品国产专区不卡 | 影音先锋中文字幕在线视频 | 国产成人久久婷婷精品流白浆 | 国产麻豆免费观看 | 美女露胸软件 | xxxx999| 亚州成人| 影音先锋国产资源 | 日韩在线不卡av | 91免费视频网 | 韩国美女福利视频 | 不卡视频在线观看免费 | 国精品人妻无码一区二区三区喝尿 | 亚州一区二区 | 91成年影院 | 国产精成人品免费观看 | 91影音| 一区二区高清在线 | 国产91在线观看丝袜 | www.69av.com| 日本韩国欧美一区二区三区 | 成人精品网 | 九九热在线视频播放 | 奇米影视久久 | 久久综合伊人77777麻豆 | 国产丝袜精品视频 | 国产小视频在线看 | 69视频一区 | 手机在线免费视频 | 成人一级免费视频 | 色综合网址 | 日本黄色不卡视频 | 26uuu精品一区二区在线观看 | 日韩免| 精品国产69 | 天堂网色 | 精品不卡一区 | 日批毛片 |