Excluding a namespace or workload from the Automation with CRD — SaaS
In some cases, you might want to exclude specific namespaces or workloads from automation. Use the following configurations in order to exclude the particular namespace or workload from automation in the cluster
Exclude a namespace
apiVersion: perfectscale.io/v1
kind: NamespaceAutomationConfig
metadata:
name: your-namespace-automation-config
namespace: your-namespace # The namespace where the configuration should be applied
spec:
automation:
operational:
automationMode: Disabled # Disables Automation for the specified namespace
Exclude kube-system namespace
By default, PerfectScale does not automate the kube-system namespace. However, in some cases, GCP users may encounter warning banners. If you notice this warning and want to prevent PerfectScale from intercepting the pods in this namespace (meaning you don't want to automate the kube-system namespace at all), further configuration is needed.
There are two ways to exclude the kube-system namespace completely:
- Set
excludeNamespacestokube-systemhere.
excludedNamespaces: ["kube-system"]
- Upgrade the Automation Agent by running the following command:
helm upgrade --install -n perfectscale psc-autoscaler \
--set secret.create=false \
--reset-then-reuse-values \
--set "settings.excludedNamespaces[0]=kube-system" \
perfectscale/psc-autoscaler
Exclude a workload
Workload automation config should specify a namespace, and it should match the namespace of the associated workload.
apiVersion: perfectscale.io/v1
kind: WorkloadAutomationConfig
metadata:
name: your-workload-automation-config
namespace: your-namespace # The namespace where the configuration should be applied
spec:
automation:
operational:
automationMode: Disabled # Disables Automation for the workload with the specified parameters
targetRef:
kind: Deployment
name: deployment-name-here
Exclude workload(s) by label
Workload automation config should specify a namespace, and it should match the namespace of the associated workload.
apiVersion: perfectscale.io/v1
kind: NamespaceAutomationConfig
metadata:
name: your-workload-automation-config
namespace: your-namespace # The namespace where the configuration should be applied
spec:
automation:
operational:
workloadLabelSelectors:
- key: "environment"
value: "production"
allowAutomation: false # Disables Automation for the workload(s) with the specified label