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

学做美食看哪个网站社区自助建站网

学做美食看哪个网站,社区自助建站网,深圳定制鞋垫,WordPress头像美化插件Background CI/CD#xff08;Continuous Integration/Continuous Deployment#xff09;是一种软件开发流程#xff0c;旨在通过自动化和持续集成的方式提高软件交付的效率和质量。它包括持续集成#xff08;CI#xff09;和持续部署#xff08;CD#xff09;两个主要阶…Background CI/CDContinuous Integration/Continuous Deployment是一种软件开发流程旨在通过自动化和持续集成的方式提高软件交付的效率和质量。它包括持续集成CI和持续部署CD两个主要阶段。这里介绍一种开源的持续交付工具Argo CD 。Argo CD官方文档地址https://argo-cd.readthedocs.ioArgo CD源码地址https://github.com/argoproj/argo-cd 1、关于Argo Argo是一个开源的项目主要是扩展Kubernetes的原生功能更好地把应用运行在Kubernetes平台。 Github地址https://github.com/argoproj 目前Argo包含多个子项目 Argo Workflows基于容器的任务编排工具。Argo CD基于GitOps声明的持续交付工具。Argo Events事件驱动工具。Argo Rollouts支持金丝雀以及蓝绿发布的应用渐进式发布工具。 本文主要介绍持续交付工具Argo CD的部署使用。 2、Argo CD简介 Argo CD 是一种开源的持续交付工具用于自动化和管理应用程序的部署、更新和回滚。它是一个声明式的工具专为在 Kubernetes 集群中进行应用程序部署而设计。Argo CD 的主要功能包括 – 持续交付Argo CD 允许用户将应用程序的配置和清单文件定义为 Git 存储库中的声明式资源从而实现持续交付。它能够自动检测 Git 存储库中的更改并将这些更改应用于目标 Kubernetes 集群。 – 健康监测和回滚Argo CD 能够监测应用程序的健康状态并在检测到问题时触发回滚操作。这有助于确保应用程序在部署期间和运行时保持稳定和可靠。 – 多环境管理Argo CD 支持多个环境例如开发、测试、生产的管理。它可以帮助用户在不同环境中进行应用程序的部署和配置管理并确保这些环境之间的一致性。 – 基于 GitOps 的操作Argo CD 采用了 GitOps 的操作模式即将应用程序的状态和配置定义为 Git 存储库中的声明式资源。这使得团队可以使用版本控制和代码审查等软件工程实践来管理应用程序的生命周期。Kubernetes 清单可以通过以下几种方式指定 – kustomize 应用程序 – helm chart – jsonnet 文件 – YAML/json 清单的普通目录 – 配置为配置管理插件的任何自定义配置管理工具 3、Argo CD的原理 Argocd通过一个 Kubernetes 控制器来实现的它持续 watch 正在运行的应用程序并将当前的实时状态与所需的目标状态 Git 存储库中指定的进行比较。已经部署的应用程序的实际状态与目标状态有差异则被认为是 状态Argo CD 会报告显示这些差异同时提供工具来自动或手动将状态同步到期望的目标状态。在 Git 仓库中对期望目标状态所做的任何修改都可以自动应用反馈到指定的目标环境中去。 4、Argo CD在 CI/CD 流程中的位置 具体步骤 将应用的 Git 仓库分为 Application Deployment file 和 Docker file 两个库。Docker file 用于存放应用的核心代码以及 Docker build file后续将会直接打包成 Docker imageApplication Deployment file 可以 Kustomize、Helm、Ksconnet、Jsonnet 等 多种 Kubernetes 包管理工具来定义以 Helm 为例Chart 中所使用到的 Image 由 Docker file Code 打包完成后提供使用 Jenkins 或 Gitlab 等 CI 工具进行自动化构建打包并将 Docker image push 到 Harbor 镜像仓库使用 Argo CD 部署应用。Argo CD 可以独立于集群之外并且支持管理多个 Kubernetes 集群。在 Argo CD 上配置好应用部署的相关信息后 Argo CD 便可以正常工作Argo CD 会自动和代码仓库 Application deployment file 的内容进行校验当代码仓库中应用属性等信息发生变化时Argo CD 会自动同步更新 Kubernetes 集群中的应用应用启动时会从 Harbor 镜像仓库拉取 Docker image。 5、Argo CD的安装配置 首先需要确定安装的版本 访问Argo CD官方文档地址https://argo-cd.readthedocs.io查询与你k8s版本对应的Argo CD版本。我这里k8s是v1.24.9所以选择2.8版本的Argo CD。 安装部署 安装方式有很多种这里直接选择官方提供资源清单文件。由于需要选择k8s对应的版本并且github访问受限建议选择好版本下载下来对应的install.yaml离线安装。这里安装的标准版本当然也可以选择高可用的安装方式。 # 没有kubectl的先安装kubectl kubectl create namespace argocd kubectl apply -n argocd -f https://github.com/argoproj/argo-cd/tree/release-2.8/manifests/install.yaml # 或者 kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.8.8/manifests/install.yaml安装CLI工具 Argo CD CLI 是用于管理 Argo CD 的命令行工具。这里不做详细介绍后面我们主要使用web ui来操作Argo CD。具体下载地址可以去github地址上去找。 发布 Argo CD 服务 默认情况下 Argo CD 服务不对外暴露服务可以通过 LoadBalancer 或者 NodePort 类型的 Service、Ingress、Kubectl 端口转发等方式将 Argo CD 服务发布到 Kubernetes 集群外部。这里使用以下命令通过 NodePort 服务的方式暴露 Argo CD 到集群外部 # 修改 Service 类型 kubectl patch svc argocd-server -n argocd -p {spec: {type: NodePort}} # 获取随机生成的 NodePort 端口 kubectl get svc -n argocd访问Web UI 把名字为 argocd-server 的 Service 改成 NodePort 类型后就可以在集群外部通过 节点 IP:随机生成的 NodePort 端口 来访问 Argo CD了浏览器输入 https://节点 IP:port 访问 Argo CD默认情况下 admin 帐号的初始密码是自动生成的会以明文的形式存储在 Argo CD 安装的命名空间中名为 argocd-initial-admin-secret 的 Secret 对象下的 password 字段下可以用下面的命令获取 kubectl get secret argocd-initial-admin-secret -o jsonpath{.data.password} -n argocd | base64 -d登录页面 6、Argo CD的使用-Web UI 部署应用 准备git仓库测试项目 argocd-test 这里其实只需要deployment.yaml和service.yamlDockerfile和index.html用于构建镜像推送到harbor私服。 构建私服镜像(这步可选的不是必须的我这里是为了后面集成jenkins和harbor) docker login --usernameadmin 192.168.19.234:5100 docker build -t nginx:v1 . docker tag nginx:v1 192.168.19.234:5100/mid-base/nginx:v1 docker push 192.168.19.234:5100/mid-base/nginx:v1 docker rmi nginx:v1 192.168.19.234:5100/mid-base/nginx:v1Dockerfile FROM nginx:latestCOPY index.html /usr/share/nginx/htmlindex.html hello world!deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: 192.168.19.234:5100/mid-base/nginx:v1name: nginxports:- containerPort: 80service.yaml apiVersion: v1 kind: Service metadata:name: nginx spec:ports:- port: 80targetPort: 80nodePort: 30001type: NodePortselector:app: nginxGitlab创建Access Token 配置GitLab 仓库认证信息 创建 Argo CD App 首先创建一个命名空间 my-apps 用于 Argo CD 部署应用 kubectl create ns my-apps填写应用基本配置信息 仓库源配置 目标集群配置 点击左上方的CREATE按钮创建应用创建完成后会自动同步如下图所示此时处于 Syncing 的状态如下图所示 同步完成后如下图所示 解决Argo CD自动同步延迟的问题 ArgoCD 默认每 3 分钟会拉取仓库检查是否有新的提交你也可以在 ArgoCD 控制台手动点击 Sync 按钮来触发同步。为了消除轮询延迟API 服务端可以配置为接收 webhook 事件从而实时获取 Git 存储库中的变化。当然也可以通过修改argocd-server的配置timeout.reconciliation: 180s然后重启这个容器 argocd-repo-server不是很推荐因为设置的间隔小会一直轮训没必要。Argo CD 支持来自 GitHub、GitLab、Bitbucket、Bitbucket Server 和 Gogs 的 Git webhook 事件。这里我们以 GitLab 为例配置 webhook 来实现这一功能具体操作如下图所示 Webhook 的地址填写 Argo CD 的 API 接口地址 https://192.168.19.42:31263/api/webhookIP和端口需要修改成你自己的。 这样我们的问题就解决了每次提交代码就会触发同步不会再等那漫长的三分钟了
http://www.pierceye.com/news/599854/

相关文章:

  • 外贸网站模板制作微营销推广方案
  • 网站开发体系用node.js可以做网站吗
  • 一个vps建两个网站怎么弄数据库网络营销应用方式
  • 网站开发快递c 网站开发入门视频教程
  • 阿里巴巴国际站介绍深圳网站建设 猴王网络
  • 扬中网站建设哪家好五百丁简历官网
  • 素马设计顾问讲解价格短视频seo什么意思
  • 注册域名查询网站智慧团建网站登陆平台
  • 网站建设和搜索引擎优化技术有哪些
  • 网站创建的基本流程seo网站排名全选
  • 乐山网站公众号建设wordpress微电影模板
  • 天津专门做网站长春市网站制作
  • 怎样用php做网站英文网站建设580
  • 凡客登录入口网站优化垂直化好还是扁平化好
  • 网站诊断高端网站建设 杭州
  • 营销网站案例北京公司建设网站
  • 网站建设全域云网店美工的职责有哪些
  • seo优化网站的手段亚洲国产中文域名查询
  • 网络营销网站源码学校网站建设评审会议通知
  • 品牌网站升级创意设计椅子
  • 海口网站制作公司商标注册网上查询
  • 世界上前端做的最好的网站2345浏览器官网网址
  • 做模板网站赚钱吗网站建设需要多少内存
  • C语言网站开发pdf专科网站开发简历
  • 静态网站怎么做优化网站建设用什么软件
  • 如何建设移动端网站物联网设计
  • 赣州网站设计哪里好天河网站建设多少钱
  • 做lol直播网站设计一个公司网站多少钱
  • 电商网站 投诉百度录入网站
  • 如何做产品网站网页论坛的网站开发项目