开发者社区> 问答> 正文

云效流水线构建,在部署到阿里云k8s集群时,如何使用自己的yaml文件(想通过yaml配置NFS)

云效流水线构建,在部署到阿里云k8s集群时,如何使用自己的yaml文件,主要目的是想给容器挂载nfs

展开
收起
游客syhujf7tvl2sq 2019-11-04 16:56:52 1295 0
7 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    您可以通过以下步骤在云效流水线构建中使用自己的yaml文件并挂载NFS:

    image.png

    1. 在您的yaml文件中,添加一个volume和一个volumeMounts字段。volume字段用于定义NFS共享卷,volumeMounts字段用于定义容器中的挂载点。

    例如:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
    spec:
      containers:
      - name: my-container
        image: my-image
        volumeMounts:
        - name: my-nfs-volume
          mountPath: /mnt/nfs
      volumes:
      - name: my-nfs-volume
        persistentVolumeClaim:
          claimName: my-pvc
    

    image.png

    1. 在您的yaml文件中,添加一个persistentVolumeClaim字段。该字段用于定义与NFS共享卷相关的持久卷声明(PVC)。例如:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
    spec:
      containers:
      - name: my-container
        image: my-image
        volumeMounts:
        - name: my-nfs-volume
          mountPath: /mnt/nfs
      volumes:
      - name: my-nfs-volume
        persistentVolumeClaim:
          claimName: my-pvc
    

    image.png

    2023-08-06 11:56:37
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    一般来说,在 Kubernetes 的资源描述 YAML 中我们会定义应用所有的部署资源并通过标签定义资源之间的关联关系。

    Kubernetes常用资源YAML使用方式,可以参考”Kubernetes常用资源 YAML 规范参考“一节

    用户可以将 Kubernetes YAML文件与源码保存在一个代码库,或者是拆分到不同的仓库中。为了能够在 YAML 中动态的使用来自前序任务的出参,如 Docker 镜像构建产生的镜像,我们需要对 YAML 文件进行模板化处理。

    在 YAML 中定义变量
    如下图所示,在 Kubernetes 资源描述 YAML 文件中,通过${IMAGE} 占位符将 Docker 镜像 定义为一个动态参变量。
    image.png

    在Kubectl 步骤中传递变量给 YAML
    在 Kubectl 步骤配置中,点击添加变量,并定义变量名称以及变量来源,即可发布时使用这些变量动态替换 YAML 文件中的占位符。

    如下图所示,在变量中添加变量。

    变量名需要和 YAML中定义的变量名一致,如示例中 ”IMAGE”。
    image.png

    变量值可以选择流水线前序任务的出参,如示例中选择的是前序构建任务的出参,即新构建出来的构建镜像。

    2023-07-31 10:58:04
    赞同 展开评论 打赏
  • 把自己写好的yaml文件放在这个图片上的YAML路径下,这个路径是代码库中的yaml文件的位置。
    image.png
    image.png

    2023-07-30 01:06:28
    赞同 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    您好,云效应用部署时,点击部署编排的【前往配置】
    image.png
    进入应用配置页面,选择【编排配置】k8s配置
    image.png
    然后跳转到模板选择页面,可以选择示例模板或者自定义模板
    image.png
    点击【确定】后进入应用编排页面,即可以配置自己的YAML内容。
    image.png

    2023-07-28 15:40:21
    赞同 展开评论 打赏
  • 在云效的“应用”页面中,找到需要部署的应用,然后点击“构建”按钮;
    在“构建”页面中,点击“+”号图标,添加一个新的构建任务;
    在“构建任务”页面中,填写构建任务的基本信息,如名称、描述、构建工具等;
    在“部署方式”选项中,选择“自定义部署”,然后点击“选择工具”按钮;
    在“选择工具”页面中,选择“Kubernetes”,然后点击“确定”按钮;
    在“部署配置”选项中,选择“使用自定义YAML文件”,然后点击“选择文件”按钮;
    在“选择文件”页面中,选择自己的YAML文件,然后点击“确定”按钮;
    点击“保存”按钮,完成构建任务的创建。

    2023-07-27 21:31:15
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在流水线中添加一个部署任务,并选择阿里云 Kubernetes 集群作为部署目标。

    在部署任务的“高级配置”中,选择“自定义部署配置文件”选项,然后将自己的 YAML 文件上传到云效中。

    在 YAML 文件中,添加挂载 NFS 的相关配置。例如,可以添加以下内容来挂载 NFS:

    dts
    Copy
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: nfs-pvc
    spec:
    accessModes:

    • ReadWriteMany
      resources:
      requests:
      storage: 1Gi
      storageClassName: nfs-storage-class
      其中,accessModes 指定了访问模式,resources 指定了存储资源,storageClassName 指定了存储类名称。需要根据实际情况修改这些配置。

    在 YAML 文件中,将 NFS 挂载到容器中。例如,可以添加以下内容来挂载 NFS 到容器中:
    yaml
    Copy
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: nginx
    spec:
    replicas: 1
    selector:
    matchLabels:
    app: nginx
    template:
    metadata:
    labels:
    app: nginx
    spec:
    containers:

      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80
        volumeMounts:
        - name: nfs-volume
          mountPath: /mnt/nfs
      volumes:
      - name: nfs-volume
        persistentVolumeClaim:
          claimName: nfs-pvc
    

    其中,volumeMounts 指定了挂载点,volumes 指定了卷名称和卷类型。需要根据实际情况修改这些配置。

    保存并提交部署任务,等待部署完成。

    https://help.aliyun.com/document_detail/224590.html?spm=a2c4g.57890.0.i9

    image.png

    image.png

    2023-07-25 19:26:59
    赞同 展开评论 打赏
  • 全栈JAVA领域创作者

    您好,您可以在云效流水线中使用自己的yaml文件来部署到阿里云k8s集群。具体步骤如下:

    1. 在云效流水线配置页面,选择“构建环境” -> “Dockerfile”。
    2. 编写Dockerfile,包括基础镜像、安装软件包、挂载NFS等。
    3. 在“部署”中选择“Kubernetes”,并选择您的yaml文件。
    4. 在“部署”中配置容器的挂载点和卷大小等参数。
    5. 点击“提交”即可完成部署。
    2023-07-24 20:36:52
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
通过 ACK 智能化运维体系获得集群自动化诊断和自愈能力 立即下载
ACK 云原生弹性方案—云原生时代的加速器 立即下载
基于阿里云K8S服务快速构建DevOps流水线 资料下载 立即下载

相关镜像