mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-31 03:45:17 +00:00
update add_ns_quota
This commit is contained in:
parent
a6d5fb6e30
commit
f668113904
5 changed files with 24 additions and 24 deletions
|
@ -56,8 +56,8 @@ func Test_validate_ro_rootfs(t *testing.T) {
|
||||||
testScenario(t, "test/scenarios/samples/best_practices/require_ro_rootfs.yaml")
|
testScenario(t, "test/scenarios/samples/best_practices/require_ro_rootfs.yaml")
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_validate_require_namespace_quota(t *testing.T) {
|
func Test_add_ns_quota(t *testing.T) {
|
||||||
testScenario(t, "test/scenarios/samples/best_practices/scenario_validate_require_namespace_quota.yaml")
|
testScenario(t, "test/scenarios/samples/best_practices/add_ns_quota.yaml")
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_validate_disallow_node_port(t *testing.T) {
|
func Test_validate_disallow_node_port(t *testing.T) {
|
||||||
|
|
|
@ -8,28 +8,28 @@ To limit the number of resources like CPU and memory, as well as objects that ma
|
||||||
|
|
||||||
## Policy YAML
|
## Policy YAML
|
||||||
|
|
||||||
[require_namespace_quota.yaml](best_practices/require_namespace_quota.yaml)
|
[add_ns_quota.yaml](best_practices/add_ns_quota.yaml)
|
||||||
|
|
||||||
````yaml
|
````yaml
|
||||||
apiVersion: kyverno.io/v1alpha1
|
apiVersion: kyverno.io/v1alpha1
|
||||||
kind: ClusterPolicy
|
kind: ClusterPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: generate-namespace-quota
|
name: add-ns-quota
|
||||||
spec:
|
spec:
|
||||||
rules:
|
rules:
|
||||||
- name: generate-namespace-quota
|
- name: generate-resourcequota
|
||||||
match:
|
match:
|
||||||
resources:
|
resources:
|
||||||
kinds:
|
kinds:
|
||||||
- Namespace
|
- Namespace
|
||||||
generate:
|
generate:
|
||||||
kind: ResourceQuota
|
kind: ResourceQuota
|
||||||
name: "defaultresourcequota"
|
name: "default-resourcequota"
|
||||||
data:
|
data:
|
||||||
spec:
|
spec:
|
||||||
hard:
|
hard:
|
||||||
requests.cpu: '4'
|
requests.cpu: '4'
|
||||||
requests.memory: '16Gi'
|
requests.memory: '16Gi'
|
||||||
limits.cpu: '4'
|
limits.cpu: $(../../requests/cpu)
|
||||||
limits.memory: '16Gi'
|
limits.memory: $(../../requests/memory)
|
||||||
````
|
````
|
|
@ -48,10 +48,10 @@ These policies are highly recommended.
|
||||||
10. [Disallow latest image tag](DisallowLatestTag.md)
|
10. [Disallow latest image tag](DisallowLatestTag.md)
|
||||||
11. [Disallow Helm Tiller](DisallowHelmTiller.md)
|
11. [Disallow Helm Tiller](DisallowHelmTiller.md)
|
||||||
12. [Restrict image registries](RestrictImageRegistries.md)
|
12. [Restrict image registries](RestrictImageRegistries.md)
|
||||||
13. [Require namespace limits and quotas](RequireNSLimitsQuotas.md)
|
13. [Require pod resource requests and limits](RequirePodRequestsLimits.md)
|
||||||
14. [Require pod resource requests and limits](RequirePodRequestsLimits.md)
|
14. [Require pod `livenessProbe` and `readinessProbe`](RequirePodProbes.md)
|
||||||
15. [Require pod `livenessProbe` and `readinessProbe`](RequirePodProbes.md)
|
15. [Default deny all ingress traffic](DefaultDenyAllIngress.md)
|
||||||
16. [Default deny all ingress traffic](DefaultDenyAllIngress.md)
|
16. [Add namespace resource quotas](AddNamespaceResourceQuota.md)
|
||||||
17. [Add `safe-to-evict` for pods with `emptyDir` and `hostPath` volumes](AddSafeToEvict.md)
|
17. [Add `safe-to-evict` for pods with `emptyDir` and `hostPath` volumes](AddSafeToEvict.md)
|
||||||
|
|
||||||
## Additional Policies
|
## Additional Policies
|
||||||
|
|
|
@ -1,26 +1,27 @@
|
||||||
apiVersion: kyverno.io/v1alpha1
|
apiVersion: kyverno.io/v1alpha1
|
||||||
kind: ClusterPolicy
|
kind: ClusterPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: generate-namespace-quota
|
name: add-ns-quota
|
||||||
annotations:
|
annotations:
|
||||||
policies.kyverno.io/category: Resource Quota
|
policies.kyverno.io/category: Isolation
|
||||||
policies.kyverno.io/description: To limit the number of objects, as well as the
|
policies.kyverno.io/description: To limit the number of objects, as well as the
|
||||||
total amount of compute that may be consumed by an application, it is important
|
total amount of compute that may be consumed by a single namespace, create
|
||||||
to create resource limits and quotas for each namespace.
|
a default resource quota for each namespace.
|
||||||
spec:
|
spec:
|
||||||
rules:
|
rules:
|
||||||
- name: generate-namespace-quota
|
- name: generate-resourcequota
|
||||||
match:
|
match:
|
||||||
resources:
|
resources:
|
||||||
kinds:
|
kinds:
|
||||||
- Namespace
|
- Namespace
|
||||||
generate:
|
generate:
|
||||||
kind: ResourceQuota
|
kind: ResourceQuota
|
||||||
name: "defaultresourcequota"
|
name: "default-resourcequota"
|
||||||
data:
|
data:
|
||||||
spec:
|
spec:
|
||||||
hard:
|
hard:
|
||||||
requests.cpu: 4
|
requests.cpu: 4
|
||||||
requests.memory: 16Gi
|
requests.memory: 16Gi
|
||||||
limits.cpu: 4
|
limits.cpu: 4
|
||||||
limits.memory: 16Gi
|
limits.cpu: $(../../requests/cpu)
|
||||||
|
limits.memory: $(../../requests/memory)
|
|
@ -1,22 +1,21 @@
|
||||||
# file path relative to project root
|
# file path relative to project root
|
||||||
input:
|
input:
|
||||||
policy: samples/best_practices/require_namespace_quota.yaml
|
policy: samples/best_practices/add_ns_quota.yaml
|
||||||
resource: test/resources/require_namespace_quota.yaml
|
resource: test/resources/require_namespace_quota.yaml
|
||||||
expected:
|
expected:
|
||||||
generation:
|
generation:
|
||||||
generatedResources:
|
generatedResources:
|
||||||
- name: defaultresourcequota
|
- name: default-resourcequota
|
||||||
kind: ResourceQuota
|
kind: ResourceQuota
|
||||||
namespace: test-namespace-quota
|
namespace: test-namespace-quota
|
||||||
policyresponse:
|
policyresponse:
|
||||||
policy: generate-namespace-quota
|
policy: add-ns-quota
|
||||||
resource:
|
resource:
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
namespace: ''
|
namespace: ''
|
||||||
name: test-namespace-quota
|
name: test-namespace-quota
|
||||||
rules:
|
rules:
|
||||||
- name: generate-namespace-quota
|
- name: generate-resourcequota
|
||||||
type: Generation
|
type: Generation
|
||||||
success: true
|
success: true
|
||||||
message: created resource ResourceQuota/test-namespace-quota/defaultresourcequota
|
|
Loading…
Add table
Reference in a new issue