您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
02 k8s jenkins自動化(jenkins集群使用k8s部署,pipeline中文亂碼的問題解決記錄)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-13 17:51:38【】0人已围观
简介打包要想快就要將Nuget的包全部緩存下來,所以需要將~/.nuget這個文件夾里面的東西用PV緩存起來(鄙人沒這個條件,用的HostPath)使用node這個命令去指定節點然后再NodeManage
使用 node 這個命令去指定節點
然后再NodeManager中查看就會看到出現了一個新的節點了,這個節點就是K8S中調度的,在打包完成后就會回收掉這個Pod。
到這里為Jenkins配置K8S的負載就全部完畢了。
Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平臺
上帝借由各種途徑使人變得孤獨,好讓我們可以走向自己。 ——赫爾曼·黑塞《德米安》
CI即為 持續集成(Continue Integration,簡稱CI) ,用通俗的話講,就是 持續的整合版本庫代碼編譯后制作應用鏡像 。建立有效的持續集成環境可以減少開發過程中一些不必要的問題、 提高代碼質量、快速迭代 等,
Jenkins :基于Java開發的一種持續集成工具,用于監控持續重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。
Bamboo : 是一個企業級商用軟件,可以部署在大規模生產環境中。
CD即持續交付Continuous Delivery和持續部署Continuous Deployment,用通俗的話說,即可以持續的部署到生產環境給客戶使用,這里分為兩個階段,持續交付我理解為滿足上線條件的過程,但是沒有上線,持續部署,即為上線應用的過程
關于 CD環境 ,我們使用以前搭建好的 K8s集群 ,K8s集群可以實現應用的 健康 檢測,動態擴容,滾動更新 等優點,關于K8s集群的搭建,小伙伴可以看看我的其他文章
拉取鏡像,啟動并設置開機自啟
配置docker買粉絲
GitLab 不多介紹。一個基于Git的版本控制平臺,,提供了Git倉庫管理、代碼審查、問題跟蹤、活動反饋和wiki,當然同時也提供了
切記:這里的端口要設置成80,要不push項目會提示沒有報錯,如果宿主機端口被占用,需要把這個端口騰出來
external_url '買粉絲://192.168.26.55’
gitlab_rails[‘gitlab_ssh_host’] = '192.168.26.55’
gitlab_rails[gitlab_shell_ssh_port] = 222
修改完配置文件之后。直接啟動容器
相關的git命令
下面我們要配置私有的docker鏡像倉庫,用到的機器為:
這里倉庫我們選擇 harbor ,因為有web頁面,當然也可以使用 registry
首先需要設置selinux、防火墻
安裝并啟動docker并安裝docker-買粉絲pose,關于docker-買粉絲pose,這里不用了解太多,一個輕量的docker編排工具
解壓harbor 安裝包:harbor-offline-installer-v2.0.6.tgz,導入相關鏡像
修改配置文件
harbor.yml:設置IP和用戶名密碼
./prepare && ./install.sh
查看相關的鏡像
訪問測試
這里因為我們要在192.168.26.55(CI服務器)上push鏡像到192.168.26.56(私倉),所有需要修改CI服務器上的Docker配置。添加倉庫地址
修改后的配置文件
加載使其生效
CI機器簡單測試一下
push一個鏡像,可以在私倉的web頁面查看
鏡像jenkins拉取
這里為什么要改成 1000,是因為容器里是以 jenkins 用戶的身份去讀寫數據,而在容器里jenkins 的 uid 是 1000,
更換國內清華大學鏡像,Jenkins下載插件特別慢,更換國內的清華源的鏡像地址會快不少
"買粉絲://買粉絲.google.買粉絲/" 替換為 "買粉絲://買粉絲..買粉絲/"
替換后查看
重啟docker,獲取登錄密匙
需要修改jenkins綁定的docker的啟動參數 , ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H fd:// --買粉絲ntainerd=/run/買粉絲ntainerd/買粉絲ntainerd.sock
修改鏡像庫啟動參數后需要重啟docker
后面 gitlab 要和 jenkins 進行聯動,所以必須要需要對 jenkins 的安全做一些設置,依次點擊 系統管理-全局安全配置-授權策略,勾選"匿名用戶具有可讀權限"
添加 JVM 運行參數 -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true 運行跨站請求訪問
這里的話我們要通過jenkins上的kubectl客戶端連接k8s,所以我們需要安裝一個k8s的客戶端kubectl,下載k8s客戶端
然后拷貝kube買粉絲nfig 證書,k8s集群中查看證書位置,這里的證書是之前創建好的,小伙伴可以看看我之前的文章
命令測試沒有問題
我們要部署 Nginx 來運行 hexo 博客系統, hexo 編譯完后為一堆靜態文件,所以我們需要創建一個 svc 和一個 deploy ,使用 SVC 提供服務,使用 deploy 提供服務能力,使用 Nginx+hexo的靜態文件 構成的鏡像
這里我們先用一個Nginx鏡像來代替hexo博客的鏡像
查看deployments和pod
訪問測試沒有問題,之后我們配置好jenkins上的觸發器,直接替換就OK
我們通過 kubectl set 命令更新 deploy 的鏡像時,獲取的鏡像是通過私倉獲取的,所以需要在啟動參數添加私倉地址
這里所有的節點都需要設置后重啟docker
訪問jenkins,接下來才是重點,我們要的jenkins上配置整個CICD流程,從而實現自動化
下面我們編譯一下hexo,生成public的一個文件夾,然后上傳gitlab
同時需要編寫Dockerfile文件來創建鏡像
k8s之容器遷移 [jenkins為例]
一、數據備份
1.找到需要遷移的容器名稱
2.找到遷移容器的數據目錄
二、修改yaml配置文件
3.svc.yaml 主要修改點:namespace
4.ingress 的修改點:namespace、host
三、創建一個新的容器
1.創建并查看狀態
四、登錄到容器中清空數據文件
五、拷貝備份的數據文件到容器中
六、重啟容器
七、根據實際情況修改容器中目錄權限等問題
jenkins集群使用k8s部署,pipeline中文亂碼的問題解決記錄
我們使用的是Jenkinsfile,存放在git中,而不是分散在各個項目中,好處是便于管理和維護。
見下圖:
在jenkinsfile文件中寫入中文,還有在獲取構建人姓名的時候,出現中文亂碼問題。
先讀取當前構建人的姓名(一般為中文漢字),然后調用后端Http接口發送消息通知響應的人群。
這里的變量buildUser如果包含中文,會出現亂碼問題。。。
這里容易有個誤區,以為在Jenkins全局配置里設置了字符集為utf-8就能解決該問題。
其實上述的設置是針對master節點,而非slave節點。而我們的pipeline是運行于slave節點上。我們得在節點設置中,對pod template增加環境變量才是正確的方式。
解決亂碼需要做好兩步:
Jenkins集群在公司內部的實踐(一)
jenkins作為一款實用且廣泛實用的CI/CD工具,為大多數中小公司拿來即用。可當我們的業務和工程逐漸增多,它在構建和自動化任務方面的壓力也越來越大。
jenkins主要是用來基于源碼的打包,公司用到的語言包括java/php/android/h5等,同時各組能夠看到的項目也應該隔離開來。
開發人員需要讓它與git源碼的提交、合并結合起來,必要地和sonarqube、unit test和allure報告等集成。重點是unit test還會和mysql/mongodb/redis/es等中間件依賴,需要做到各任務之間的隔離。
測試人員在構建并運行后,除了要做回歸測試,期間也需要做自動化測試。(測試平臺我們選用的是meterspere開源平臺)
所以擺在我們面前的問題是:
1、jenkins集群化,滿足高可用的要求
2、通過Pipeline方式管理Job,通過pipeline模板做到自動化
3、每次新建項目時,審批通過后,一鍵自動創建jenkins/gitlab等工程。
4、能夠支持開發的單元測試和測試的自動化測試
5、將整個公司各語言的項目構建歸集在一起,做到友好的權限控制。
如上圖,salve的橫向擴展能力,足以支撐公司的所有語言的所有項目的構建。
整個部署完 K8s 的集群以后,我們⾸先需要部署的就是 Jenkins 的 Master 節點。 Master 節點相關的配置是通過 K8s 來創建⼏個重要的對象:
接下來就是要創建 deployment 對
很赞哦!(25)
相关文章
- 01 校園網紅打卡點設計博物館官網(馬云打卡網紅博物館,網紅博物館有魅力在哪里)
- 01 根據聯合國國際貿易標準分類第四次修訂本(根據《聯合國國際貿易標準分類》,一般把0到4類商品分什么,把5到8類商品分為什么)
- 01 為什么我的播放量總是上不去(為什么我發布的抖音作品一直播放量都很少呢)
- 01 校園網紅打卡點設計博物館案例(在公共空間的設計中,是否要為網紅設計專門的打卡點)
- 01 根據材料一概括唐朝對外貿易交流的特點(分析唐朝和南宋對外貿易的商路各具有什么特點)
- 01 校園網紅打卡點設計博物館(中國美術館館長談網紅展打卡拍照,你知道的網紅打卡點有哪些?)
- 01 校園網紅打卡點設計官網登錄(重慶都有哪些網紅打卡點?)
- 01 柳州市雙新貿易有限公司 葉(柳州市柳東新區雙仁屯三產地怎么辦小賣部營業執照和煙草專賣證)
- 01 柳州市雙誠汽車貿易有限公司(求廣西區內的上汽通用五菱宏光4S店電話及其它一些資料)
- 01 為什么在ins上搜不到用戶(ins為什么搜不到博主?)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片
职业:程序员,设计师
现居:河北省保定北市区
工作室:小组
Email:[email protected]