Kubernetes
基于 Kubernetes 的 Jenkins 服务也可以去 Docker 了
· ☕ 6 分钟
从原理上看,在 Kubernetes 集群中,Jenkins 都可以使用 Podman 进行镜像构建,本文主要以 Containerd 为例。 1. 去 Docker 给 CICD 带来新的挑战 在 CICD 场景下, 我们经常需要在流水线中构建和推送镜像。 在之前的文档 《在 Kubernetes 上动态创建 Jenkins Slave》 中, 我描述了通过挂载 /var/run/docker.sock 文件, 允许在 Docker 驱动的 Kubernetes

DevOps 工具链之 Argo CD
· ☕ 4 分钟
1. Argo CD 能解决什么问题 1.1 从 GitOps 说起 GitOps 起源于 Weaveworks 公司在 2017 年发表的一篇博客, GitOps - Operations by Pull Request 。在文中,Alexis 介绍了一种以 Git 为唯一事实来源的部署方式。 在 GitOps 实践中,我们需要将软件设施定义在 Git 仓库中进行管理。其中的软件设施,包括 IaaS、Kubernet

Kuberntes 系统下的 `rm -rf /`,执行完就可以跑路了
· ☕ 2 分钟
本文档主要用于展示 Docker 特权模式的危害,请谨慎操作。对于没有 CLI 操作权限的用户,可以拷贝示例的 Yaml,直接创建集群负载 Pod、Job、DaemonSet 等进行操作。 1. 直接删除全部资源 如果能登陆机器,收拾好东西,执行命令: 1 kubectl delete all --all --all-namespaces 但是也有可能

如何在主机上调试容器、在容器中操作主机
· ☕ 6 分钟
1. 一个奇怪的需求 老板有个奇怪的需求,通过一个 kubeconfig 文件,获取主机的各种状态信息,比如进程列表、进程状态等。 第一反应就是,老板是不是不懂容器,容器怎么能这样玩,这样玩还要什么容器,内心万马奔腾。 直到最近遇到了一个命令行工具,才发现原来小丑是我自己

使用 Terraform 和 GitHub Actions 对基础设施进行自动化安装测试
· ☕ 4 分钟
1. 测试是海上的航标 项目越复杂、规模越大,越能体现测试的价值和重要性。 测试保证了方向的正确性。就像航行时,海上出现的航标,可以用来检验、纠正路线。便于掌舵人,随时了解动态,做出调整。 测试决定了迭代的速度。随着 Scrum 等敏捷开发方法的实践,交付的节奏