国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Jenkins使用k8s部署應用

這篇具有很好參考價值的文章主要介紹了Jenkins使用k8s部署應用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、jenkins在k8s內(nèi)部署(請參考其他人的文章)

2、jenkins安裝kubenents相關(guān)插件

k8s 部署jenkins,筆記

3、配置k8s云

????????非常重要,目的是實現(xiàn)jenkins可以遠程調(diào)用k8s進行部署,并可實現(xiàn)安裝jenkins-slave進行構(gòu)建。使得不再依賴jenkins單機能力進行構(gòu)建,比較適合一定規(guī)模的公司。

?插件安裝后,打開jenkins,點擊系統(tǒng)管理-->系統(tǒng)配置-->Clouds,點擊新增一個kubernetes。

具體配置見如下:

3.1 首先配置K8S地址

k8s 部署jenkins,筆記

k8s 部署jenkins,筆記?

3.2 為K8S云創(chuàng)建Pod Templates

目的是在jenkins構(gòu)建的時候,可以自動在K8S內(nèi)創(chuàng)建一個POD服務于本次構(gòu)建。

以JAVA為例,構(gòu)建時需要使用maven并docker構(gòu)建,然后連接至K8S Master進行遠程發(fā)布。

k8s 部署jenkins,筆記

?在POD容器列表中放了2個Docker鏡像,一個是Maven負責java的build,一個是jnlp創(chuàng)建一個jenkins的slave。

k8s 部署jenkins,筆記

?k8s 部署jenkins,筆記

3.3? 掛載存儲卷

3.3.1、主要是把maven的repository掛載到宿主機上,以方便多次構(gòu)建后復用。?

3.3.2、宿主機上安裝了docker,把docker命令掛載到K8S的POD內(nèi),使得POD具備了

docker in? docker的能力,如此就可以在該POD內(nèi)進行docker構(gòu)建。

3.3.3、宿主機一般都是被K8S控制的Node,因此一般都裝有kubernets,因此可以把kubectl命令關(guān)在到POD中,使得POD具備執(zhí)行kubectl命令能力,以控制K8S。

k8s 部署jenkins,筆記

k8s 部署jenkins,筆記

?k8s 部署jenkins,筆記

?請用如下代碼給k8s內(nèi)的jenkins賬號授權(quán)

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: jenkins
  namespace: zo-jenkins
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: jenkins
  namespace: zo-jenkins
rules:
  - apiGroups: [""]
    resources: ["pods"]
    verbs: ["create","delete","get","list","patch","update","watch"]
  - apiGroups: [""]
    resources: ["pods/portforward"]
    verbs: ["*"]
  - apiGroups: [""]
    resources: ["pods/exec"]
    verbs: ["create","delete","get","list","patch","update","watch"]
  - apiGroups: [""]
    resources: ["pods/log"]
    verbs: ["get","list","watch"]
  - apiGroups: [""]
    resources: ["secrets"]
    verbs: ["get"]
  - apiGroups: ["apps"]
    resources: ["deployments"]
    verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: jenkins
  namespace: zo-jenkins
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: jenkins
subjects:
  - kind: ServiceAccount
    name: jenkins
    namespace: zo-jenkins

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: jenkinsClusterRole
  namespace: zo-jenkins
rules:
  - apiGroups: [""]
    resources: ["pods"]
    verbs: ["create","delete","get","list","patch","update","watch"]
  - apiGroups: [""]
    resources: ["pods/exec"]
    verbs: ["create","delete","get","list","patch","update","watch"]
  - apiGroups: [""]
    resources: ["pods/log"]
    verbs: ["get","list","watch"]
  - apiGroups: [""]
    resources: ["secrets"]
    verbs: ["get"]
  - apiGroups: [ "apps" ]
    resources: ["deployments"]
    verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: jenkinsClusterRuleBinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: jenkinsClusterRole
subjects:
  - kind: ServiceAccount
    name: jenkins
    namespace: zo-jenkins

4、JAVA應用中增加pipeline腳本

#!groovy
pipeline {
    agent {
        kubernetes {
            cloud "k8s-deploy"  //選擇名字是kubernetes1的cloud,這里不要修改
            label "jenkins-slave"
            //yamlFile ''  //jenkins-slave部署文件位置,內(nèi)容不要修改
        }
    }
    stages {
        stage('初始化環(huán)境') {
            steps {
                script {
                    env.APP_NAME = "report-server"   //修改為自己的應用名稱
                    env.APP_CODE = "https://codeup.aliyun.com/xxxxxxx/outsourced/excleToReport/xxx-xxxx.git"
                    env.CODE_BRANCH = "master"     //修改為實際部署的分支
                    env.DOCKER_IMAGE_URL = "registry.cn-hangzhou.aliyuncs.com/xx-xx/xx-xxx"  // 修改DOCKER鏡像地址
                    env.DOCKER_TAG = "1.0.0"
                    env.K8S_NAME_SPACE = "zo-home-prd" // 修改應用在K8S內(nèi)的實際部署的命名空間
                }
            }
        }
        stage('拉取代碼') {
            steps {
                echo "1.Git Clone Code"
                git branch: "$CODE_BRANCH", credentialsId: 'zo-git-yun', url: "$APP_CODE"
            }
        }
        stage('maven構(gòu)建') {
            steps {
                container('maven') {
                    sh 'mvn -s jenkins/settings.xml clean package -e -U -Dmaven.test.skip=true -Dautoconfig.skip'
                }
            }
        }
        stage('docker鏡像構(gòu)建') {
            steps {
                container('maven') { // maven容器確保與宿主機的docker實現(xiàn)docker in docker的能力
                    sh 'docker build -t $APP_NAME:$DOCKER_TAG .'
                    sh 'docker tag $APP_NAME:$DOCKER_TAG $DOCKER_IMAGE_URL:$DOCKER_TAG'
                    sh 'docker push $DOCKER_IMAGE_URL:$DOCKER_TAG'
                }
            }
        }
        //    部署到K8s
        stage('K8S部署-開發(fā)環(huán)境') {
            steps {
                container('jenkins-jnlp-slave') {
                    withKubeConfig(serverUrl: 'https://192.168.10.200:6443') {// 這里配置K8S Master的API地址
                        echo 'begin k8s deploy!'
                        sh 'chmod 744 k8s/home-prd/deployment.sh'
                        sh 'k8s/home-prd/deployment.sh' // 執(zhí)行部署
                        // --record 用作記錄滾動更新的信息, 后面方便版本回退
                        //sh 'kubectl set image deployment/$APP_NAME $APP_NAME=$IMAGE_URL --namespace $NAME_SPACE --record'
                    }
                }
            }
        }
    }
    options {
        buildDiscarder(logRotator(numToKeepStr: '5', artifactNumToKeepStr: '5'))
    }
}

?文章來源地址http://www.zghlxwxcb.cn/news/detail-556793.html

到了這里,關(guān)于Jenkins使用k8s部署應用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • K8S部署jenkins

    K8S部署jenkins

    NFS服務器:1xx.xxx.xxx.229 K8Smaster:1xx.xxx.xxx.221 k8Snode1: 1xx.xxx.xxx.228 (宿主機) 需要將jenkins的配置目錄掛載到NFS中,如果沒安裝可以參考之前的文檔。 注意:jenkins2.372默認安裝jdk11版本,沒有mvn和jdk8,如果有需求就需要將宿主機的mvn、jdk、環(huán)境變量、都掛載到容器內(nèi)。 jenki

    2024年02月14日
    瀏覽(21)
  • k8s 部署Jenkins項目

    k8s 部署Jenkins項目

    要求:當前集群配置了storageClass,并已指定默認的storageClass,一般情況下,創(chuàng)建的storageClass即為默認類 指定默認storageClass的方式 1.1 部署helm 1.2 部署jenkins 1.3 檢查 jenkins 1.4 配置訪問 3.1 準備ruoyi數(shù)據(jù) 3.2 準備k8s證書 3.3 準備maven配置文件 3.4 配置釘釘插件 在系統(tǒng)管理的下方有未

    2024年01月21日
    瀏覽(57)
  • Jenkins構(gòu)建項目并部署到K8S實踐

    Jenkins構(gòu)建項目并部署到K8S實踐

    本次實踐使用gitee上的開源項目悟空CRM9.0進行構(gòu)建并部署到k8S中 悟空CRM9.0項目簡介: 悟空CRM-基于jfinal+vue+ElementUI的前后端分離CRM系統(tǒng)。 項目gitee地址:https://gitee.com/wukongcrm/72crm-java.git 軟件 版本 IP 備注 K8S 1.26.x 192.168.1.124 192.168.1.124為K8S集群master01節(jié)點IP地址 Harbor 2.6.2 192.168.1.

    2024年02月20日
    瀏覽(25)
  • K8s集群部署最新Jenkins 2.387.1

    K8s集群部署最新Jenkins 2.387.1

    概述 Jenkins是一個開源軟件項目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復的工作,旨在提供一個開放易用的軟件平臺,使軟件項目可以進行持續(xù)集成。在Devops時代Jenkins有著不可缺失地位,也體現(xiàn)了Jenkins的亮點,廢話不多說,我們進入在k8s環(huán)境下安裝最新的J

    2024年02月13日
    瀏覽(28)
  • 【K8S專題】八、Jenkins 自動打包部署配置

    【K8S專題】八、Jenkins 自動打包部署配置

    ??項目部署有多種方式,從最原始的可運行 jar 包直接部署到 JDK 環(huán)境下運行,到將可運行的 jar 包放到 docker 容器中運行,再到現(xiàn)在比較流行的把可運行的 jar 包和 docker 放到 k8s 的 pod 環(huán)境中運行。每一種新的部署方式都是對原有部署方式的改進和優(yōu)化,這里不著重介紹每種

    2024年02月15日
    瀏覽(22)
  • k8s的jenkins部署java項目到k8s集群cicd持續(xù)集成

    k8s的jenkins部署java項目到k8s集群cicd持續(xù)集成

    k8s1.16.0-k8s的jenkins部署java項目到k8s集群cicd(ci成,cd手動部署的) 注意: 本文檔只是實現(xiàn)了ci,cd是通過ci生成的鏡像,再手工再k8s-master執(zhí)行的部署(只因pod部署的jenkins連接k8s的認證不知怎么操作,若jenkins是單獨部署在k8s-master機器上,能直接在master執(zhí)行kubectl命令就沒這個問題了

    2024年02月03日
    瀏覽(37)
  • DevOps搭建(十六)-Jenkins+K8s部署詳細步驟

    DevOps搭建(十六)-Jenkins+K8s部署詳細步驟

    ? 要想從Harbor倉庫中拉取鏡像,首先要往主機和從機的daemon.json文件中添加Harbor的地址信息 \\\"insecure-registries\\\":[\\\"192.168.88.125:80\\\"],別忘了80端口 添加完之后,重啟下docker 要拉取鏡像,需要Harbor登錄進行拉取,到Kuboard控制臺對應的命名空間找到 密文 菜單,點擊 創(chuàng)建Secret 。 填寫

    2024年01月16日
    瀏覽(29)
  • Jenkins K8S Docker 一鍵部署SpringCloud微服務

    Jenkins K8S Docker 一鍵部署SpringCloud微服務

    一鍵部署springcloud微服務,需要用到 Jenkins K8S Docker等工具,若未安裝,請參考《Centos 7 安裝K8S》 本文使用jenkins部署,流程如下圖 開發(fā)者將代碼push到git 運維人員通過jenkins部署,自動到git上pull代碼 通過maven構(gòu)建代碼 將maven構(gòu)建后的jar打包成docker鏡像 并 push docker鏡像到docker

    2024年02月02日
    瀏覽(26)
  • 云原生Kubernetes: K8S 1.29版本 部署Jenkins

    云原生Kubernetes: K8S 1.29版本 部署Jenkins

    目錄 ?一、實驗 1.環(huán)境 2.K8S 1.29版本 部署Jenkins 服務 3.jenkins安裝Kubernetes插件 二、問題 1.創(chuàng)建pod失敗 2.journalctl如何查看日志信息 2.容器內(nèi)如何查詢jenkins初始密碼 3.jenkins離線安裝中文包報錯 4.jenkins插件報錯 (1)主機 表1 主機 主機 架構(gòu) 版本 IP 備注 master K8S master節(jié)點 1.29.0 1

    2024年04月25日
    瀏覽(27)
  • 通過Jenkins將應用發(fā)布到K8s1.24.3

    一、準備基礎環(huán)境 cat /etc/hosts EOF 192.168.180.210 k8s-master 192.168.180.200 k8s-node1 192.168.180.190 k8s-node2 192.168.180.180 gitlab 192.168.180.170 jenkins 192.168.180.160 harbor EOF 配置主機名 hostnamectl set-hostname k8s-master bash hostnamectl set-hostname k8s-node1 bash hostnamectl set-hostname k8s-node2 bash hostnamectl set-hostname g

    2024年02月04日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包