用AWS EC2从零搭建Jenkins并实现GitOps CI/CD
上一篇:用AWS EC2从零搭建Kubernetes和ArgoCD
前一篇里,我们在 AWS EC2
上从无到有,搭建了 Kubernetes
集群和 ArgoCD
。因为终究缺少 CI
环境以实现真正的实时持续集成,这一篇将手把手,在
AWS EC2
上搭建 Jenkins
实现一个 GitOps CI/CD
工作流。
上一篇:用AWS EC2从零搭建Kubernetes和ArgoCD
前一篇里,我们在 AWS EC2
上从无到有,搭建了 Kubernetes
集群和 ArgoCD
。因为终究缺少 CI
环境以实现真正的实时持续集成,这一篇将手把手,在
AWS EC2
上搭建 Jenkins
实现一个 GitOps CI/CD
工作流。
在AWS上实现 Kubernetes 集群最简单的方法是走 EKS(Elastic Kubernetes Service)托管服务(managed service)。但后来发现 EKS 成本高昂,会有一笔跟 EC2 计算费用无关的起步价,仅仅来源于 EKS。为了学习(省钱),我们来用裸机 EC2 实例搭建 Kubernetes 集群,以及集成 ArgoCD 实现 CD (Continuous Deployment)。
...由于工作中经常需要为团队招聘进行面试,以下总结了一份问题集,针对中高级全栈工程师,从基础通用知识,前端、后端到架构。以经典为主,主打永不过时。
...要用AWS搭建一个优秀的系统,根据官方资料和一些第三方讲义,我把要义总结为四个需求八个字:
安全可靠,物美价廉。
可以用买房子来类比,四个需求的层级是不一样的。除此之外,还有两朵锦上添花,最后再议。
...对于简单的容器化应用的部署,Docker 和 EC2 的搭配是最常见的选择。先创建EC2实例,这里使用 Amazon Linux 2 AMI,因此包管理器是 dnf。首先更新 dnf 包管理器。
...
主要有以下措施,排名不分先后:
...汉明距离是两个等长字符串之间对应位置上不同字符的个数。在编码理论中,用来衡量两个码字之间的差异。 001
和 101
的汉明距离是1。 对于一个码字间最短汉明距离为 m 的编码,它可以检测出 r 比特个错误只要满足以下关系:
...1 + r ≤ m
当使用通道来串行化任务时,我们因此创建了一个异步流。在异步编程中很容易搞砸,尤其是有额外的要求时,比如超时和取消。 真实世界的例子,是从文件读取器逐行读取数据,然后传递给另一个异步工作的文本解析器。
我找到了一个通用模式,可以用易于理解的代码覆盖大多数这样的场景。
...异步生产者后跟同步消费者。
大部分模式都有一个共同点,那就是通过接口连接生产者和消费者。接口的抽象是关键,它反映了对底层类型的深刻理解。知道这一点可以简化事情,无论我们处理的是什么场景,或者使用的是什么语言。
至于为什么现在有这些模式,还有多少尚未被发现,以及背后的数学本质是什么,我也还无法回答。
...