Manifests and limits
The Kubernetes objects you can run on Plexivo Kubernetes, the few fields every pod needs, and what admission refuses to keep every namespace isolated.
Plexivo Kubernetes checks every object before it reaches the cluster, from the console and from kubectl alike. Anything it cannot prove safe is refused with a message that names the field. This page lists the rules so your manifests pass the first time.
What you can create#
| Group | Objects |
|---|---|
| Workloads | Deployment, StatefulSet, DaemonSet, ReplicaSet, Job, CronJob, Pod |
| Networking | Service (ClusterIP), Ingress, and network policies that stay inside your namespace (in manifests deployed from the console or the API, not with kubectl) |
| Configuration | ConfigMap, Secret |
| Storage | PersistentVolumeClaim |
| Scaling | HorizontalPodAutoscaler |
You can also read your namespace’s ResourceQuota and LimitRange to see the capacity it holds.
What every pod needs#
- The
runtimeClassNameline in the pod spec, exactly as in the example below. - CPU and memory requests and limits on every container, with each limit equal to its request. You are billed for what pods request.
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
replicas: 2
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
runtimeClassName: kata
containers:
- name: web
image: ghcr.io/acme/web:1.4.2
ports:
- containerPort: 8080
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 500m
memory: 1Gi
---
apiVersion: v1
kind: Service
metadata:
name: web
spec:
selector:
app: web
ports:
- port: 80
targetPort: 8080Add an Ingress to make it public: see Expose a service over HTTPS.
What is refused#
- Anything outside your namespace, and cluster-wide objects such as
Namespace,Node,ClusterRole,StorageClassorCustomResourceDefinition. - Replacing the namespace’s own guardrails:
ResourceQuota,LimitRange,RoleandRoleBinding. NodePort,LoadBalancerandExternalNameServices, andexternalIPs. Traffic enters through anIngress.- Privileged containers,
allowPrivilegeEscalation: true, and added Linux capabilities. hostNetwork,hostPID,hostIPC,hostPortandhostPathvolumes.- Volumes other than
configMap,secret,emptyDir,persistentVolumeClaim,projected,downwardAPIandephemeral. automountServiceAccountToken: true, apriorityClassName, and seccomp or AppArmor profiles other thanRuntimeDefault.- Wildcard
Ingresshosts.
Capacity in your namespace#
Your namespace holds enough CPU and memory for the workload’s maximum pods at the size you chose. One container may not ask for more than the whole workload holds.
If a change needs more, raise the requested capacity first: see Pods and scaling.
kubectl is recorded in the audit log.Next steps#
Updated 27 October 2026