GitLab CI/CD 自动化构建与发布实践
流程介绍 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。这篇文章中,我将会介绍基于 GitLab CI/CD 的自动化构建与发布实践。如下图所示,整个流程将分为几个部分: 1.首先开发人员在本地完成项目的开发之后,将代码推送到 Gitlab 仓库中。 2.当代码提交到 Gitlab 仓库时,会触发 Pipeline,Gitlab Runner 会根据 .gitlab-ci.yml 配置文件运行 Pipeline
使用 ezctl 工具部署和管理 Kubernetes 集群
1 ezctl 命令行介绍 kubeasz 项目致力于快速部署高可用的 Kubernetes 集群,同时也提供了关于 Kubernetes 详细的学习资料,在这里强烈推荐给初学者。kubeasz 项目地址:https://github.com/easzlab/kubeasz 。 kubeasz 项目使用 ezctl 方便地创建和管理多个 Kubernetes 集群,ezctl 使用 shell 脚本封装 ansible-playbook 执行命令,它十分轻量、简单和易于扩展。查看 ezctl
Docker Rootless 在非特权模式下运行 Docker
Docker Rootless 基本概念 Rootless 模式允许以非 root 用户身份运行 Docker 守护进程(dockerd)和容器,以缓解 Docker 守护进程和容器运行时中潜在的漏洞。Rootless 模式是在 Docker v19.03 版本作为实验性功能引入的,在 Docker v20.10 版本 GA。 Rootless 模式目前对 Cgroups 资源控制,Apparmor 安全配置,Overlay 网络,存储驱动等还有一定的限制,暂时还不能完全取代 “Rootful
Kubernetes 中的对象是如何删除的:Finalizers 字段介绍
前言 Kubernetes 中的对象删除并不像表面上看起来那么简单,删除对象涉及一系列过程,例如对象的级联和非级联删除,在删除之前检查以确定是否可以安全删除对象等等。这些都是通过称为 Finalizers(终结器)的 API 对象实现的。 Finalizers 终结器 Finalizers 是由字符串组成的数组,当 Finalizers 字段中存在元素时,相关资源不允许被删除,Finalizers 是 Kubernetes 资源删除流程中的一种拦截机制,能够让控制器实现异步的删除前(Pre-d
在 Kubernetes 中使用 Keycloak OIDC Provider 对用户进行身份验证
API Server 作为 Kubernetes 的网关,是用户访问和管理资源对象的入口。对于每个访问请求, API Server 都需要对访问者的合法性进行检查,包括身份验证、权限验证等等。Kubernetes 支持多种身份验证的方式,本文将对 OpenID Connect 认证进行介绍。 1 OpenID Connect(OIDC)介绍 OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方应用访问他们存储在其他服务
Kubernetes 中数据包的生命周期 -- 第 1 部分
本文翻译自:Life of a Packet in Kubernetes — Part 1 [1], 作者:Dinesh Kumar Ramasamy,本文在原文的基础上做了适当的修改,如有疑问请查阅原文。 Kubernetes 集群中的网络可能会令人感到有点困惑,即使是对于拥有虚拟网络和路由实践经验的工程师来说也是如此。本系列文章将分为 4 个部分,帮助你理解基本的 Kubernetes 网络,本文属于第一部分。 Part 1 1.Linux 命名空间(Namespaces) 2.容器网络(
使用 HTTPS 加密 Ingress 流量
1.安装cfssl CFSSL是CloudFlare开源的一款PKI/TLS工具。 CFSSL 包含一个命令行工具 和一个用于 签名,验证并且捆绑TLS证书的 HTTP API 服务,使用Go语言编写。 下载地址: https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 2.创建CA证书 #得到的json文件保持默认
cfssl print-defaults co
Kubernetes 中数据包的生命周期 -- 第 2 部分
本文翻译自:Life of a Packet in Kubernetes — Part 2 [1],作者:Dinesh Kumar Ramasamy。本文在原文的基础上做了适当的修改,如有疑问请查阅原文。 正如我们在第 1 部分中所讨论的,CNI 插件在 Kubernetes 网络中起着至关重要的作用。当前有许多第三方 CNI 插件可供使用,Calico 便是其中之一。凭借着良好的易用性以及对多种网络架构的支持,Calico 获得了许多工程师的青睐。 Calico 支持广泛的平台,包括 Kub
ECA 认证备考指南
ECA 简介 ECA(Elastic Certified Analyst,Elastic 认证分析师)是 Elastic 针对 Kibana 进行数据可视化和分析而设计的一门考试。 考试费用 300 美金,考试时长 2 小时,2022 年 4 月 28 号之后升级为 7.15 版本,我这次考的是 7.6 版本。 考试大纲及常见问题 考试大纲:Elastic Certified Analyst Exam [1],其中标注了 7.6 和 7.15 两个版本考点的变化。在 ECA 考试中主要考察 3
Kubernetes 中数据包的生命周期 -- 第 3 部分
本文翻译自:Life of a Packet in Kubernetes — Part 3 [1], 作者:Dinesh Kumar Ramasamy,本文在原文的基础上做了适当的修改,如有疑问请查阅原文。 本文是 Kubernetes 中数据包的生命周期系列文章的第 3 部分。我们将讨论 Kubernetes 的 kube-proxy 组件如何使用 iptables 来控制流量。 了解 kube-proxy 在 Kubernetes 环境中的作用以及它如何使用 iptables 来控制流量非
Cilium 多集群 ClusterMesh 介绍
Cluster Mesh 是 Cilium 的多集群实现,可以帮助 Cilium 实现跨数据中心、跨 VPC 的多 Kubernetes 集群管理,ClusterMesh 主要有以下功能: 1.通过隧道或直接路由的方式,在多个 Kubernetes 集群间进行 Pod IP 路由,而无需任何网关或代理。 2.使用标准 Kubernetes 服务发现机制。 3.跨多个集群的网络策略。策略可以使用 Kubernetes 原生的 NetworkPolicy 资源或者扩展的 CiliumNetwork
一个视频发布在三个平台上,可以赚三份收益,自媒体如何发布视频
很多新手做自媒体只是把视频创作好了,以为这就能赚钱了?其实还有很多细节你不知道,今天这期内容就给粉丝们分享一点我自己的经验,耐心看完你一定会有所收获,记得先点赞收藏起来。除了视频内容的质量外,还有哪些需要我们注意的呢?(1)视频的封面和标题要能吸引人眼球(2)封面和标题中的关键词不要重复(3)封面和标题中的关键词,需要与所创作的领域相关(4)发布视频时记得勾选原创标签(5)多参加官方推出的活动,发布时勾选有关话题(6)视频时长需要大于1分钟,大周推荐新手创作2分钟左右的视频即可(7)发布的
基本面与技术分析:有什么区别?
在进入市场时,基本面分析和技术分析是两大主要的思想流派,但它们却完全不同。投资者和交易者使用两者来研究和预测未来的股票价格。像任何投资策略或哲学一样,两者都有拥护者和反对者。
今日推荐
周排行