当前位置: 首页 > news >正文

做网站用小公司还是大公司好房地产销售怎么找客户

做网站用小公司还是大公司好,房地产销售怎么找客户,网站建设跳转页面怎么弄,珠海做网站及推广作者#xff1a;蔡靖 Argo Workflows Argo Workflows [ 1] 是用于在 Kubernetes 上编排 Job 的开源的云原生工作流引擎。可以轻松自动化和管理 Kubernetes 上的复杂工作流程。适用于各种场景#xff0c;包括定时任务、机器学习、ETL 和数据分析、模型训练、数据流 pipline、…作者蔡靖 Argo Workflows Argo Workflows [ 1] 是用于在 Kubernetes 上编排 Job 的开源的云原生工作流引擎。可以轻松自动化和管理 Kubernetes 上的复杂工作流程。适用于各种场景包括定时任务、机器学习、ETL 和数据分析、模型训练、数据流 pipline、CI/CD 等。 Kubernetes Jobs 只提供基础的任务执行但是无法定义步骤依赖关系和顺序、缺乏工作流模版、没有可视化界面也不支持工作流级别的错误处理等对于批处理、数据处理、科学计算、持续集成等业务场景Kubernetes Job 无法胜任。 Argo Workflows 作为 CNCF 的毕业项目已被使用在多种场景持续集成CI是其一个重要应用领域。 CI 与 Jenkins 持续集成和持续部署CI/CD是软件开发生命周期中的重要部分它允许团队以敏捷流程开发应用并提高所构建应用程序的质量。持续集成CI是面向开发者的自动化流程经测试、构建等步骤有助于更频繁、可靠地将代码变更提交到主分支。 Jenkins 作为 CI/CD 领域最常见的解决方案其具有开源免费、插件丰富、社区成熟诸多优点但它仍然存在一些问题尤其是云原生大背景的当下 非 kubernetes 原生随着 pipeline 和插件的增加Jenkins 会面临性能瓶颈自动扩展能力不足并发不足运行时间长空闲计算浪费成本维护成本方面虽然 Jenkins 的插件生态系统丰富但这也可能导致插件版本不兼容、更新不及时或安全漏洞等问题管理插件更新和权限是一个持续的挑战项目隔离/权限分配方案的缺陷等。 Argo Workflows 与 Jenkins 的对比 相比于 JenkinsArgo Workflows 有诸多优势。Argo Workflows 构建在 Kubernetes 之上使其具有 Kubernetes 经过时间考验的优势其 Autoscaling 和并发等能力使得 Argo Workflows 可以处理大规模的 pipelins具有更快的运行速度和更低的费用/使用成本让开发者更加聚焦业务功能和为客户提供、传播价值并且与 Argo 生态的 Argo CD、Argo Rollout、Argo Event 的无缝集成为 CI 等场景提供更强大的能力。您可以基于 Argo Workflows 来构建更加云原生、大规模、高效率、低成本的 CI Pipeline。 对比如下 基于 ACK One Serverless Argo 工作流的 CI Pipeline ACK One Serverless Argo 工作流 ACK One Serverless Argo 工作流 [ 2] 作为一款完全遵循社区规范的全托管式 Argo Workflows 服务致力于应对大规模计算密集型作业通过集成阿里云 ECI 实现自动扩展和极致弹性、按需扩容以最小化成本通过使用 spot ECI抢占式 ECI 实例 [ 3] 可以降低 80% 成本。 CI Pipeline 概述 基于 ACK One Serverless Argo 工作流集群构建 CI Pipeline主要使用 BuildKit [ 4] 实现容器镜像的构建和推送并使用 BuildKit Cache [ 5] 加速镜像的构建使用 NAS 来存储 Go mod cache 加速 go test 和 go build最终大幅加速 CI Pipeline 流程。 我们将实现的 CI Pipeline 的 ClusterWorkflowTemplate 预置在工作流集群中名为 ci-go-v1其中主要包含 3 个步骤 Git Clone CheckoutClone Git 仓库Checkout 到目标分支并获取 commit id。 Run Go Test通过参数控制是否运行使用 NAS 存储 Go mod cache 进行加速 Build Push Image a. 使用 BuildKit 构建和推送容器镜像并使用 BuildKit Cache 中 registry 类型 cache 来加速镜像构建 b. 镜像 tag 默认使用 {container_tag}-{commit_id} 格式可在提交工作流时通过参数控制是否追加 commit id c. 推送镜像的同时也会推送覆盖其 latest 镜像。 您可执行以下步骤完成 CI Pipeline 的运行详细步骤请参见最佳实践 [ 6] 在工作流集群中准备好 ACR EE 的凭据和 NAS 存储卷基于预置模板启动工作流workflow运行 CI Pipeline 预置 CI Pipeline 模板 工作流集群中默认已经预置了名为 ci-go-v1 的工作流模板ClusterWorkflowTemplateyaml 如下所示详细参数说明请参见最佳实践 [ 6] apiVersion: argoproj.io/v1alpha1 kind: ClusterWorkflowTemplate metadata:name: ci-go-v1 spec:entrypoint: mainvolumes:- name: run-testemptyDir: {}- name: workdirpersistentVolumeClaim:claimName: pvc-nas- name: docker-configsecret:secretName: docker-configarguments:parameters:- name: repo_urlvalue: - name: repo_namevalue: - name: target_branchvalue: main- name: container_imagevalue: - name: container_tagvalue: v1.0.0- name: dockerfilevalue: ./Dockerfile- name: enable_suffix_commitidvalue: true- name: enable_testvalue: truetemplates:- name: maindag:tasks:- name: git-checkout-prinline:container:image: alpine:latestcommand:- sh- -c- |set -euapk --update add gitcd /workdirecho Start to Clone {{workflow.parameters.repo_url}}git -C {{workflow.parameters.repo_name}} pull || git clone {{workflow.parameters.repo_url}} cd {{workflow.parameters.repo_name}}echo Start to Checkout target branch {{workflow.parameters.target_branch}}git checkout {{workflow.parameters.target_branch}}echo Get commit id git rev-parse --short origin/{{workflow.parameters.target_branch}} /workdir/{{workflow.parameters.repo_name}}-commitid.txtcommitId$(cat /workdir/{{workflow.parameters.repo_name}}-commitid.txt)echo Commit id is got: $commitIdecho Git Clone and Checkout Complete.volumeMounts:- name: workdirmountPath: /workdirresources:requests:memory: 1Gicpu: 1activeDeadlineSeconds: 1200- name: run-testwhen: {{workflow.parameters.enable_test}} trueinline: container:image: golang:1.22-alpinecommand:- sh- -c- |set -euif [ ! -d /workdir/pkg/mod ]; thenmkdir -p /workdir/pkg/modecho GOMODCACHE Directory /pkg/mod is createdfiexport GOMODCACHE/workdir/pkg/modcp -R /workdir/{{workflow.parameters.repo_name}} /test/{{workflow.parameters.repo_name}} echo Start Go Test...cd /test/{{workflow.parameters.repo_name}}go test -v ./...echo Go Test Complete.volumeMounts:- name: workdirmountPath: /workdir- name: run-testmountPath: /testresources:requests:memory: 4Gicpu: 2activeDeadlineSeconds: 1200depends: git-checkout-pr - name: build-push-imageinline: container:image: moby/buildkit:v0.13.0-rootlesscommand:- sh- -c- | set -eutag{{workflow.parameters.container_tag}}if [ {{workflow.parameters.enable_suffix_commitid}} true ]thencommitId$(cat /workdir/{{workflow.parameters.repo_name}}-commitid.txt)tag{{workflow.parameters.container_tag}}-$commitIdfiecho Image Tag is: $tagecho Start to Build And Push Container Imagecd /workdir/{{workflow.parameters.repo_name}}buildctl-daemonless.sh build \--frontend \dockerfile.v0 \--local \context. \--local \dockerfile. \--opt filename{{workflow.parameters.dockerfile}} \build-arg:GOPROXYhttp://goproxy.cn,direct \--output \typeimage,\name{{workflow.parameters.container_image}}:${tag},{{workflow.parameters.container_image}}:latest\,pushtrue,registry.insecuretrue \--export-cache modemax,typeregistry,ref{{workflow.parameters.container_image}}:buildcache \--import-cache typeregistry,ref{{workflow.parameters.container_image}}:buildcacheecho Build And Push Container Image {{workflow.parameters.container_image}}:${tag} and {{workflow.parameters.container_image}}:latest Complete.env:- name: BUILDKITD_FLAGSvalue: --oci-worker-no-process-sandbox- name: DOCKER_CONFIGvalue: /.dockervolumeMounts:- name: workdirmountPath: /workdir- name: docker-configmountPath: /.dockersecurityContext:seccompProfile:type: UnconfinedrunAsUser: 1000runAsGroup: 1000resources:requests:memory: 4Gicpu: 2activeDeadlineSeconds: 1200depends: run-test在控制台运行 CI Pipeline 登录 ACK One 工作流集群控制台 [ 7]在基础信息开启工作流控制台Argo 并访问进入页面左侧菜单栏 Cluster Workflow Templates单击 ci-go-v1 预置模板进入详情页单击 SUBMIT在右侧填入您的参数单击下方 SUBMIT 参数说明 执行完以后可在 Argo UI 的 workflow 详情页查看运行情况如下所示 总结 ACK One Serverless Argo 工作流作为全托管的 Argo 工作流服务可以帮助您实现更大规模、具有更快的运行速度、及更低成本的 CI Pipeline与 ACK One GitOps [ 8] Argo CD、Argo Event 等事件驱动架构可以构建完整的自动化 CI/CD Pipeline。 欢迎加入 ACK One 客户交流钉钉与我们一同交流。钉钉群号35688562 相关链接 [1] Argo Workflows https://argoproj.github.io/argo-workflows/ [2] ACK One Serverless Argo 工作流** https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/overview-12 [3] 抢占式 ECI 实例 https://help.aliyun.com/zh/eci/use-cases/run-jobs-on-a-preemptible-instance?spma2c4g.11186623.0.i7 [4] BuildKit https://github.com/moby/buildkit [5] BuildKit Cache https://github.com/moby/buildkit?tabreadme-ov-file#cache [6] 最佳实践 https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/use-cases/building-a-ci-pipeline-of-golang-project-based-on-workflow-cluster [7] ACK One 工作流集群控制台 https://account.aliyun.com/login/login.htm?oauth_callbackhttps%3A%2F%2Fcs.console.aliyun.com%2Fone%3Fspm%3Da2c4g.11186623.0.0.555018e1SiD2lC#/argowf/cluster/detail [8] ACK One GitOps https://help.aliyun.com/zh/ack/distributed-cloud-container-platform-for-kubernetes/user-guide/gitops-overview
http://www.w-s-a.com/news/20/

相关文章: