默認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掛掉重啓,那就 嘣... 瞎卡拉卡......