一、创建命名空间

首先创建一个命名空间,命名为jenkins:

  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: jenkins

二、创建服务

创建一个服务:

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: jenkins
  5. namespace: jenkins
  6. spec:
  7. type: NodePort
  8. ports:
  9. - port: 8080
  10. targetPort: 8080
  11. nodePort: 30001
  12. selector:
  13. jenkins-app: jenkins

说明:

  • 使用NodePort 在宿主机中暴露端口
  • 将容器中的8080端口映射到宿主机中的30001端口
  • 选择 jenkins-app: jenkins 标签对应的部署

三、创建部署

这里,我们使用Deployment部署

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: jenkins
  5. namespace: jenkins
  6. labels:
  7. jenkins-app: jenkins
  8. spec:
  9. replicas: 1
  10. selector:
  11. matchLabels:
  12. jenkins-app: jenkins
  13. template:
  14. metadata:
  15. labels:
  16. jenkins-app: jenkins
  17. spec:
  18. containers:
  19. - name: jenkins
  20. image: jenkinsci/blueocean
  21. ports:
  22. - containerPort: 8080
  23. - containerPort: 50000
  24. volumeMounts:
  25. - mountPath: /var/jenkins_home
  26. name: jenkins-home
  27. volumes:
  28. - name: jenkins-home
  29. hostPath:
  30. path: /run/desktop/mnt/host/d/Users/quanzaiyu/.docker/datas/jenkins
  31. type: Directory

说明:

  • replicas: 1 指定为1个副本
  • 镜像选择 jenkinsci/blueocean
  • 暴露容器中的 808050000 端口
  • 打个标签 jenkins-app: jenkins
  • 将卷 /var/jenkins_home 命名为 jenkins-home
  • jenkins-home 挂载到宿主机 D:\Users\quanzaiyu\.docker\datas\jenkins 目录下
  • type: Directory 表示目录必须先存在,若不存在则会报错

打开Kubernetes Dashboard,可以看到Jenkins已经成功启动:

image.png

四、访问Jenkins

在浏览器输入 http://localhost:30001/ 即可访问Jenkins:
image.png

Enjoy!