默认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挂掉重启,那就 嘣... 瞎卡拉卡......

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐