当前位置: 首页 > 知识库问答 >
问题:

詹金斯在库伯内特斯的持续音量

左丘积厚
2023-03-14

我试图在本地库伯内特斯集群上部署詹金斯映像。部署成功,但我无法让持久性数据工作。没有错误被抛出,新豆荚成功启动,唯一的问题是它不持久。

詹金斯·多克菲尔:

FROM jenkins/jenkins:lts

ENV JENKINS_USER admin
ENV JENKINS_PASS admin

# Skip initial setup
ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false


COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/plugins.txt
USER root
RUN apt-get update \
  && apt-get install -qqy apt-transport-https ca-certificates curl gnupg2 software-properties-common 
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/debian \
  $(lsb_release -cs) \
  stable"
RUN apt-get update  -qq \
  && apt-get install docker-ce -y
RUN usermod -aG docker jenkins
RUN apt-get clean
RUN curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
USER jenkins

Kubernetes部署文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins
  template:
    metadata:
      labels:
        app: jenkins
    spec:
      containers:
        - name: jenkins
          image: mikemanders/my-jenkins-image:1.1
          env:
            - name: JAVA_OPTS
              value: -Djenkins.install.runSetupWizard=false
          ports:
            - name: http-port
              containerPort: 8080
            - name: jnlp-port
              containerPort: 50000
          volumeMounts:
            - name: jenkins-home
              mountPath: /var/lib/jenkins
              subPath: jenkins
      volumes:
        - name: jenkins-home
          persistentVolumeClaim:
            claimName: jenkins-pv-claim

库伯内特斯持久体积:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-pv
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 6Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/var/lib"

持续批量索赔

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jenkins-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi

我在用Minikube进行本地开发。当然还有库贝特。

别看我做错了什么。感谢您的帮助。

共有1个答案

薛华容
2023-03-14

常规dockerhub jenkins映像使用路径/var/jenkins_home,而不是/var/lib/jenkins来获取持久数据。因此,应该使用该路径装载持久卷。

 类似资料:
  • 我打算有一个带有Jenkins的光盘管道,它接受我的应用程序,将码头工人映像发布到我的私人码头工人存储库。我想我知道怎么做。 我不确定的是库伯内特斯部分。我想把那个图像部署到我的私人库伯内特斯集群(目前是1个主集群) 问:安装了 kubectl 和 docker 的詹金斯从站是否需要成为 Kubernetes 集群的一部分才能触发部署?如何触发该部署?

  • 我正在尝试运行集成minikube与Jenkins。我得到以下异常: 配置如下Kubernetes url所示:192.168.99.101:8443 Kubernetes 1 希望你的协助。

  • 我在这里做一个测试,需要使用Jenkins和库伯内特斯交付一个构建、测试和部署管道。 我正在使用Mac,并使用带有Ubuntu 18的虚拟盒创建了一个VM,并在那里安装了詹金斯。 我安装了Kubernetes (minukube ),但当我试图启动它时,我收到: “此计算机没有 VT-x/AMD/v 启用程序。在 BIOS 中启用它是强制性的” 阅读一些博客时,他们说VM内部的VM不是一个好的架构

  • 我希望使用Jenkins创建一个CI/CD管道,其中我希望添加一个K8s主节点作为Jenkins主设置的从节点。我的问题是这是个好主意吗?我计划在其中一个主服务器上创建一个用户名Jenkins,将kubeconfig复制给用户,将主服务器连接到这个节点,然后从这个节点运行所有的Kubernetes部署。 有没有更好的办法做到这一点?

  • 我正在尝试学习使用Jenkins和Kubernetes为我的SpringBoot微服务部署实现CI/CD管道。 我点击以下链接以供参考, https://dzone.com/articles/easily-automate-your-cicd-pipeline-with-jenkins-he https://medium.com/jfrogplatform/easily-automate-your

  • 我正在尝试让cadence在kubernetes集群上运行。然而,我注意到Cadence服务器初始化中有一个bug,它阻止Cassandra脚本正确初始化模式。https://github.com/uber/cadence/issues/1713:所以我想我会手动完成这一步。我执行了以下步骤- < li >在docker compose上从https://raw . githubuserconte