应用开发:开发者工作流与 CI/CD 实践
1. 替代方案简介
在应用开发中,有一些替代方案可供选择。例如,GitLab 是一个将 Git 服务器与使用 Buildpacks 的构建管道相结合的产品,而 Jenkins X 则是用于 Kubernetes 的原生构建服务器。不过,这些产品本身较为复杂。如果想在开发者工作流中移除 Docker,那么构建过程将会变得更加复杂。
2. 使用上下文和命名空间隔离工作负载
2.1 命名空间概述
命名空间是 Kubernetes 中的一种分组机制,每个 Kubernetes 对象都属于一个命名空间。可以使用多个命名空间从一个真实的集群创建虚拟集群。命名空间非常灵活,不同的组织会以不同的方式使用它们,比如:
- 在生产集群中,按不同产品划分。
- 在非生产集群中,按不同环境(集成测试、系统测试和用户测试)划分。
- 在开发集群中,为每个开发者分配一个独立的命名空间,这样开发者就无需运行自己的集群。
命名空间也是实施安全和资源限制的边界,支持上述各种场景。
2.2 操作示例
2.2.1 创建命名空间并部署资源
Kubectl 支持对命名空间的操作,可以显式创建命名空间,然后使用命名空间标志部署和查询资源。以下是创建一个简单的 sleep Deployment 的示例:
# 创建一个新的命名空间
kubectl create namespace kiamol-ch11-test
# 在新的命名空间中部署一个 sleep Pod
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



