我尝试在测试kubernetes集群(1.2.5)中通过创建一对冲突的复制控制器(第一个)和部署(之后)来轻松地使集群过载,例如:
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx2
spec:
replicas: 3
selector:
app: nginx
template:
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
反对
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
因此,如果多个团队成员在同一个kubernetes集群上工作,很容易发生一个错误导致集群中的所有服务崩溃。
什么是防止此类操作错误的工具或最佳做法?
答案 0 :(得分:0)
对此有一些讨论,但还没有很好的解决方案。
在Kubernetes之外,您可能必须编写一个脚本到describe
所有ReplicationControllers / ReplicaSets / Deployments,并确保您添加的新脚本在允许{{1}之前没有重叠选择器调用。
在Kubernetes内部,还有其他一些可能的解决方案:
您可以将您的想法添加到https://github.com/kubernetes/kubernetes/issues/2210