基於k8s部署jenkins

默認docker及k8s環境已經準備好

1. 從dockerHub拉取tomcat鏡像,不指定鏡像標籤默認拉取最新鏡像

      docker pull tomcat

2. 在目錄下創建dockerFile文件,名稱爲tomcat_dockerfile,同時在此文件夾準備好jenkins.war

      tomcat_dockerfile內容爲:

                      FROM tomcat:latest
                      ADD jenkins.war /usr/local/tomcat/webapps

3. 構建tomcat-jenkins鏡像

       docker build -f tomcat_dockerfile -t tomcat-jenkins .

4. tomcat-jenkins鏡像重新打個tag

      docker tag tomcat-jenkins:latest tomcat-jenkins:1.0

5.  導出鏡像並分發到k8s集羣其他節點上(如果有內部的docker鏡像倉庫也可以提交到鏡像倉庫)

            docker save -o tomcat-jenkins.tar tomcat-jenkins:1.0   (導出)

            docker load -i tomcat-jenkins.tar  (導入)

6. 創建tomcat-jenkins.yaml     

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-jenkins
  labels:
    app: jenkins
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins
  template:
    metadata:
      labels:
        app: jenkins
    spec:
      containers:
      - name: tomcat-jenkins-1
        image: tomcat-jenkins:1.0
        ports:
        - containerPort: 80

7. 創建tomcat-jenkins-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: tomcat-jenkins-service
spec:
  type: NodePort
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 31080
  selector:
    app: jenkins

8. 部署到k8s集羣上

      kubectl apply -f tomcat-jenkins.yaml

      kubectl apply -f tomcat-jenkins-service.yaml

9. 查看pod及service狀態

     

           

10.瀏覽器訪問

     

11. 需要注意的

       此種方式爲簡單部署,未做持久存儲,不能直接用於重要環境,否則一旦pod掛掉重啓,那就 嘣... 瞎卡拉卡......

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章