Completed upto lesson 28
This commit is contained in:
32
lab/lesson-17-solution.yaml
Normal file
32
lab/lesson-17-solution.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicy
|
||||
metadata:
|
||||
name: validate-namespace-tenant-a
|
||||
spec:
|
||||
failurePolicy: Fail
|
||||
matchConstraints:
|
||||
resourceRules:
|
||||
- apiGroups: [""]
|
||||
apiVersions: ["v1"]
|
||||
operations: ["CREATE", "UPDATE"]
|
||||
resources: ["pods"]
|
||||
validations:
|
||||
- expression: >-
|
||||
(!has(object.spec.hostNetwork) || object.spec.hostNetwork == false) &&
|
||||
(!has(object.spec.hostPID) || object.spec.hostPID == false) &&
|
||||
(!has(object.spec.hostIPC) || object.spec.hostIPC == false) &&
|
||||
(!has(object.spec.volumes) || object.spec.volumes.all(v, !has(v.hostPath))) &&
|
||||
object.spec.containers.all(c, !has(c.securityContext) || !has(c.securityContext.privileged) || c.securityContext.privileged == false)
|
||||
message: host namespaces, hostPath volumes, and privileged containers are not allowed
|
||||
---
|
||||
apiVersion: admissionregistration.k8s.io/v1
|
||||
kind: ValidatingAdmissionPolicyBinding
|
||||
metadata:
|
||||
name: validate-namespace-tenant-a
|
||||
spec:
|
||||
policyName: validate-namespace-tenant-a
|
||||
validationActions: [Deny]
|
||||
matchResources:
|
||||
namespaceSelector:
|
||||
matchLabels:
|
||||
training.cks/lesson: tenant-a
|
||||
Reference in New Issue
Block a user