1
0
Fork 0
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:
Jim Bugwadia 2019-11-10 20:58:57 -08:00
parent a6d5fb6e30
commit f668113904
5 changed files with 24 additions and 24 deletions

View file

@ -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) {

View file

@ -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)
```` ````

View file

@ -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

View file

@ -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)

View file

@ -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