kubesphere自定義流水線基礎鏡像

背景

需求:在流水線基礎pod中使用python和jinja2模塊來動態渲染部署文件

由于ks提供的基礎鏡像無法滿足以上需求,在ks提供的maven鏡像的基礎上實現

實施

制作鏡像&并推送到private image repo

FROM kubesphere/builder-maven:v3.2.0
RUN sed -i.bak -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' /etc/yum.repos.d/CentOS-Base.repo && sed -e 's|^metalink=|#metalink=|g' -e 's|^#baseurl=https\?://download.fedoraproject.org/pub/epel/|baseurl=https://mirrors.ustc.edu.cn/epel/|g' -e 's|^#baseurl=https\?://download.example/pub/epel/|baseurl=https://mirrors.ustc.edu.cn/epel/|g' -i.bak /etc/yum.repos.d/epel{,-testing}.repo
RUN yum makecache && yum install python36 git-lfs -y && git lfs install && yum clean all && python3 -m pip install --upgrade pip && pip install jinja2 -i https://mirrors.ustc.edu.cn/pypi/web/simple && rm -rf /var/cache/yum

在ks中添加自定義鏡像

refer
https://kubesphere.io/zh/docs/v3.3/devops-user-guide/how-to-use/pipelines/customize-jenkins-agent/

注意點是要在最下面的jenkins_user.yaml中添加自定義的基礎鏡像,直接復制粘貼更改nameimagelabel字段即可,注意containers的name字段。

          - name: "maven-jinja2"namespace: "kubesphere-devops-worker"label: "maven-jinja2"nodeUsageMode: "EXCLUSIVE"idleMinutes: 0imagePullSecrets:- name: xxxcontainers:- name: "maven"image: "xxx/kubesphere-builder-maven:xxx"command: "cat"args: ""ttyEnabled: trueprivileged: falseresourceRequestCpu: "100m"resourceLimitCpu: "4000m"resourceRequestMemory: "100Mi"resourceLimitMemory: "8192Mi"- name: "jnlp"image: "jenkins/inbound-agent:4.10-2"args: "^${computer.jnlpmac} ^${computer.name}"resourceRequestCpu: "50m"resourceLimitCpu: "500m"resourceRequestMemory: "400Mi"resourceLimitMemory: "1536Mi"workspaceVolume:emptyDirWorkspaceVolume:memory: falsevolumes:- hostPathVolume:hostPath: "/var/run/docker.sock"mountPath: "/var/run/docker.sock"- hostPathVolume:hostPath: "/var/data/jenkins_maven_cache"mountPath: "/root/.m2"- hostPathVolume:hostPath: "/var/data/jenkins_sonar_cache"mountPath: "/root/.sonar/cache"yaml: |spec:affinity:nodeAffinity:preferredDuringSchedulingIgnoredDuringExecution:- weight: 1preference:matchExpressions:- key: node-role.kubernetes.io/workeroperator: Invalues:- citolerations:- key: "node.kubernetes.io/ci"operator: "Exists"effect: "NoSchedule"- key: "node.kubernetes.io/ci"operator: "Exists"effect: "PreferNoSchedule"containers:- name: "maven"resources:requests:ephemeral-storage: "1Gi"limits:ephemeral-storage: "10Gi"volumeMounts:- name: config-volumemountPath: /opt/apache-maven-3.5.3/conf/settings.xmlsubPath: settings.xmlvolumes:- name: config-volumeconfigMap:name: ks-devops-agentitems:- key: MavenSettingpath: settings.xmlsecurityContext:fsGroup: 1000

在流水線中使用自定義鏡像做為slave

這點有個小技巧,可以通過ks的圖形化界面那里選擇node的時候,有個下拉框里面看看是否有自定義的label名字

@Library('xxx') _pipeline {environment {}agent {node {label 'maven-jinja2' # 指定自定義的label名字}}stages {stage('CI (Git checkout & Build image)') { agent {node {label 'maven-jinja2'}}steps {container('maven') { # 注意containerscript {}script {}script {}script {}}}}}
}

報錯
java.net.ProtocolException: Expected HTTP 101 response but was '400 Bad Request

refer

使用自定義基礎鏡像之后報錯4xx
https://ask.kubesphere.io/forum/d/7769-devops-expected-http-101-response-but-was-400-bad-request

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37731.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37731.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37731.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

7.1作業

1.思維導圖 2.在堆區申請兩個長度為32的空間,實現兩個字符串的比較【非庫函數實現】 (1)定義函數,在對區申請空間 兩個申請,主函數需要調用2次 (2)定義函數,實現字符串的輸入 void input(char *p) (3)調用函數實現字符串比較…

BUT000增強字段BAPI結構激活出錯(BUPA_CENTRAL_CI_CHANGE)

導語:BP主數據增強字段,需要使用BAPI:BUPA_CENTRAL_CI_CHANGE進行值寫入,但是在SAP 2023以后的版本,激活會出錯,原因是因為SAP的一個結構同時包含了BUS00_EEW以及BUS00_EEWX兩個結構,導致結構字…

Spring Security 認證流程

Spring Scurity是spring生態下用于認證和授權的框架,具有高度的靈活性和可擴展行,本節主要對Spring Security的認證過程中進行概括性的介紹,主要介紹在該過程中,會涉及到哪些組件以及每個組件所承擔的職責,希望大家可以…

Elasticsearch 配置說明

# ---------------------------------- Cluster ----------------------------------- cluster.name: yh-es # es名稱 # ------------------------------------ Node ------------------------------------ node.name: xibo-es node.master: true node.da…

電腦錄音軟件哪個好?7款錄制音頻工具大盤點,趕快學起來!(2024)

也許你渴望提取你最喜歡的節目的背景音樂,或者你希望錄制自己的聲音制作教程。如果是這樣,你就需要一款優秀的電腦錄音軟件,來幫助你捕捉任何你想要的聲音,而且不會損失音質。目前市場上存在著大量的錄制音頻工具,面對…

鎖相環相位噪聲仿真代碼-匯總

24小時自動發貨 所設計的壓控振蕩器輸入電壓為0.625V時,輸出大致為500Mhz;輸入電壓為1.559時,輸出電壓大致為1Ghz 1.文件夾里面各個文件作用(包括參考書PLL PHASE NOISE ANALYSIS、lee的射頻微電子、以及前人留下的matlab文件還有…

ModStart:開源免費的PHP企業網站開發建設管理系統

大家好!今天我要給大家介紹一款超級強大的開源工具——ModStart,它基于Laravel框架,是PHP企業網站開發建設的絕佳選擇! 為什么選擇ModStart? 模塊化設計:ModStart采用模塊化設計,內置了眾多基…

Ubuntu(通用)—網絡加固—防DNS污染和ARP欺騙

1. 防DNS污染 DNS協議,把域名解析成ip地址,udp,這個過程會暴露訪問的域名, 對這一傳輸過程加密(傳輸層用tcp)即為DoH(DNS over HTTPS)。 Browser(firefox)加固 由于Cloudflare、Quad8的DoH服務器不能用&…

三維重建基礎【知識點總結】

三維重建基礎【知識點總結】 rasterizationvolumetric ray-marchingSfM(Structure from Motion)Spherical Harmonics多視圖立體(Multiple View Stereo, MVS)動畫制作專業術語 rasterization Rasterization,中文通常譯…

雅思詞匯及發音積累 2024.7.1

旅游場景 1.credit card 信用卡 2.driving license/licence 駕照 3.expire /?k?spa??(r)/ 駕照/護照等過期 4.platform 站臺 5.Currency 貨幣 6.Pound 英鎊 7.Deserts /d??z??ts/ 沙漠 8. hilly areas 丘陵地帶 9.wetlands 沼澤地 10.bushlands 灌木叢 11.tropi…

Dns被莫名篡改的問題定位(筆記)

引言:最近發現用戶的多臺機器上出現了Dns被莫名修改的問題,從系統事件上看并未能正常確定到是那個具體軟件所為,現在的需求就是確定和定位哪個軟件具體所為。 解決思路: 首先到IPv4設置頁面對Dns進行設置:通過ProcExp…

缺失d3dx9_43.dll是怎么回事?教你幾種靠譜的解決方法

在日常生活和工作中,電腦已經成為我們不可或缺的工具。然而,在使用電腦的過程中,我們常常會遇到一些問題,其中之一就是軟件運行時提示d3dx9_43.dll丟失。這個問題會導致軟件游戲無法啟動運行,但只要我們了解其原因和解…

LinkedHashMap、TreeMap

LinkedHashMap: 有序、不重復、無索引,底層是雙鏈表 TreeMap:底層基于紅黑樹,可以對鍵進行排序 默認排序:integer和string都是從小到大排序 例題:

git合并分支的疑問

今天遇到一個奇怪的問題: 1、后端從master拉了三個分支。分別為dev、test、和stage。 2、研發1從dev拉了分支feature1,然后commit、commit、commit……。最后request merge到dev、test和stage。成功了。 3、研發2從dev拉了分支feature2,注意,feature2…

Dataweave2 語法教程

DataWeave 是 MuleSoft 的數據語言,專門用于數據轉換和映射。在 MuleSoft 的 Anypoint Platform 中,它是數據集成的一部分。下面是一個 DataWeave 語法教程,涵蓋基本的語法和用法。 基本語法 DataWeave 腳本分為三個部分:%dw 聲…

SpringBoot整合WebClient進行Http遠程調用

使用WebClient進行Http遠程調用 文章目錄 使用WebClient進行Http遠程調用1.WebClient對象創建2.WebClient對象抽取config配置3.Get請求url參數設置4.獲取ResponseEntity對象5.Post請求測試示例代碼 WebClient 一旦創建,就是不可修改的,如果需要設置默認值…

DP:子數組問題

文章目錄 引言子數組問題介紹動態規劃的基本概念具體問題的解決方法動態規劃解法:關于子數組問題的幾個題1.最大子數組和2.環形子數組的最大和3.乘積最大子數組4.乘積為正數的最長子數組長度5.等差數列劃分 總結 引言 介紹動態規劃(DP)在解決…

音視頻開發31 FFmpeg 編碼- avcodec_find_encoder和avcodec_find_encoder_by_name

avcodec_find_encoder /** * Find a registered encoder with a matching codec ID. * * param id AVCodecID of the requested encoder * return An encoder if one was found, NULL otherwise. */ AVCodec *avcodec_find_encoder(enum AVCodecID id); 那么這個 AVCodec…

14分Top刊NC代碼開源|NSCLC單細胞+空轉腫瘤微環境分析

說在前面 說起肺癌真的過去回憶歷歷在目,小編畢業后職業生涯的第一個項目——非小細胞肺癌預后有效靶點篩選。當時肝的是轉錄組預后建模篩選。 做研發其實要求是遠遠高于發文章的,文章投不出去就降分,加工作量,做藥要是爛尾或者…

2024年7月1日 (周一) 葉子游戲新聞

老板鍵工具來喚去: 它可以為常用程序自定義快捷鍵,實現一鍵喚起、一鍵隱藏的 Windows 工具,并且支持窗口動態綁定快捷鍵(無需設置自動實現)。 喜馬拉雅下載工具: 字面意思 《星刃》早期概念圖分享 末世破敗環境推主Genki分享了《星…