Skip to main content
The Configuration section helps you manage application settings, secrets, and resource organization in your Kubernetes cluster.

Overview

Kubernetes configuration resources organize and configure your workloads:
  • ConfigMaps - Non-sensitive configuration data
  • Secrets - Sensitive data like passwords and tokens
  • Namespaces - Virtual clusters for resource isolation
  • Limit Ranges - Default resource limits per namespace
  • Pod Disruption Budgets - Protect workload availability

Accessing Configuration Resources

Navigate to your cluster and click Kubernetes in the sidebar. Configuration resources include:
ResourcePath
ConfigMapsKubernetes → ConfigMaps
SecretsKubernetes → Secrets
NamespacesKubernetes → Namespaces
Limit RangesKubernetes → Limit Ranges
Pod Disruption BudgetsKubernetes → Pod Disruption Budgets

ConfigMaps

ConfigMaps store non-sensitive configuration data as key-value pairs.

Viewing ConfigMaps

ColumnDescription
NameConfigMap name
NamespaceKubernetes namespace
DataNumber of data keys
AgeTime since creation

ConfigMap Details

Click a ConfigMap to view:
  • Data - Key-value pairs (displayed as editable text)
  • Binary Data - Binary data keys (if any)
  • Used By - Pods that mount or reference this ConfigMap

Using ConfigMaps

ConfigMaps can be used in pods as:
  1. Environment Variables:
    envFrom:
      - configMapRef:
          name: app-config
    
  2. Volume Mounts:
    volumes:
      - name: config
        configMap:
          name: app-config
    
  3. Individual Keys:
    env:
      - name: LOG_LEVEL
        valueFrom:
          configMapKeyRef:
            name: app-config
            key: log_level
    

Secrets

Secrets store sensitive data like passwords, tokens, and certificates.

Viewing Secrets

ColumnDescription
NameSecret name
NamespaceKubernetes namespace
TypeSecret type (Opaque, TLS, etc.)
DataNumber of data keys
AgeTime since creation

Secret Types

TypeDescription
OpaqueGeneric user-defined secrets
kubernetes.io/tlsTLS certificates
kubernetes.io/dockerconfigjsonDocker registry credentials
kubernetes.io/service-account-tokenService account tokens
kubernetes.io/basic-authUsername/password

Secret Details

Click a Secret to view:
  • Type - Secret type
  • Data Keys - List of keys (values are hidden by default)
  • Used By - Pods that mount or reference this Secret
Secret values are base64 encoded in Kubernetes but are shown decoded in the UI. Be careful when viewing in shared environments.

Security Best Practices

  • RBAC: Limit who can read Secrets
  • Encryption: Enable etcd encryption at rest
  • Rotation: Regularly rotate sensitive credentials
  • Minimal Scope: Only grant Secret access where needed

Namespaces

Namespaces provide virtual clusters within a physical cluster.

Viewing Namespaces

ColumnDescription
NameNamespace name
StatusActive or Terminating
AgeTime since creation

Namespace Details

Click a Namespace to view:
  • Status - Current phase
  • Labels - Metadata labels
  • Annotations - Additional metadata
  • Resource Quotas - Applied quotas
  • Limit Ranges - Default limits

System Namespaces

NamespacePurpose
defaultDefault namespace for resources
kube-systemKubernetes system components
kube-publicPublicly readable resources
kube-node-leaseNode heartbeat leases

Filtering by Namespace

Most resource views in Ankra allow filtering by namespace. Use the namespace selector at the top of resource lists to focus on specific namespaces.

Limit Ranges

Limit Ranges set default and maximum resource limits per namespace.

Viewing Limit Ranges

ColumnDescription
NameLimitRange name
NamespaceApplied namespace
TypeContainer, Pod, PVC
AgeTime since creation

Limit Range Details

  • Default Limits - Applied if not specified
  • Default Requests - Default resource requests
  • Max - Maximum allowed resources
  • Min - Minimum required resources
  • Max Limit/Request Ratio - Limit/request ratio cap

Example

limits:
  - type: Container
    default:
      cpu: 500m
      memory: 256Mi
    defaultRequest:
      cpu: 100m
      memory: 128Mi
    max:
      cpu: 2
      memory: 1Gi

Pod Disruption Budgets

PDBs protect application availability during voluntary disruptions.

Viewing PDBs

ColumnDescription
NamePDB name
NamespaceKubernetes namespace
Min AvailableMinimum pods required
Max UnavailableMaximum pods that can be down
Allowed DisruptionsCurrent allowed disruptions

PDB Details

  • Selector - Which pods this PDB protects
  • Min Available / Max Unavailable - Availability constraint
  • Current Healthy - Pods currently healthy
  • Desired Healthy - Target healthy count
  • Disruptions Allowed - How many can be disrupted now

Use Cases

  • Rolling Updates: Ensure minimum replicas during updates
  • Node Maintenance: Protect workloads during node drains
  • Cluster Autoscaler: Prevent over-aggressive scale-down

Common Tasks

Creating a ConfigMap

While Ankra focuses on visibility, you can create ConfigMaps through:
  1. Stacks - Add a manifest with your ConfigMap definition
  2. kubectl - Apply YAML directly to the cluster
  3. GitOps - Sync from your Git repository

Viewing Secret Values

  1. Navigate to Secrets
  2. Click on the Secret
  3. Click Reveal next to a key to show the decoded value

Troubleshooting Namespace Termination

If a namespace is stuck in Terminating:
  1. Check for finalizers blocking deletion
  2. Look for resources that can’t be deleted
  3. View events for error messages
  4. Check for webhook failures

Tips

Namespace Isolation: Use namespaces to separate environments (dev, staging, prod) or teams.
ConfigMap Updates: Changes to ConfigMaps require pod restart unless using volume mounts with automatic refresh.
Secret Management: Consider external secret management (Vault, AWS Secrets Manager) for production secrets.

Still have questions? Join our Slack community and we’ll help out.