Skip to main content

Kubernetes

Manage Kubernetes resources through the web interface without using kubectl.

Workload Resources

Deployments

Manage application deployments:

  • View: List all deployments with replica status
  • Scale: Adjust replica count up or down
  • Update: Modify deployment configuration
  • Rollback: Revert to previous deployment version
  • Restart: Trigger rolling restart of pods

Pods

Monitor and manage individual pods:

  • Status: View pod phase (Running, Pending, Failed)
  • Logs: Stream or download pod logs
  • Terminal: Execute shell commands in containers
  • Events: View pod lifecycle events
  • Delete: Terminate and restart pods

StatefulSets

Manage stateful applications:

  • Ordered Deployment: Pods created in sequence
  • Stable Network IDs: Predictable pod names
  • Persistent Storage: Each pod gets own PVC
  • Ordered Scaling: Scale up/down sequentially

DaemonSets

Run pods on all or selected nodes:

  • Node Coverage: One pod per node
  • System Services: Monitoring agents, log collectors
  • Node Selector: Target specific node labels
  • Update Strategy: Rolling or OnDelete updates

Jobs & CronJobs

Run batch and scheduled tasks:

  • Jobs: Run once to completion
  • CronJobs: Scheduled recurring tasks
  • Parallelism: Run multiple pods simultaneously
  • Completion: Track successful completions
  • History: View past job runs

Networking

Services

Expose applications to network traffic:

  • ClusterIP: Internal cluster access only
  • NodePort: Access via node IP and port
  • LoadBalancer: Cloud load balancer integration
  • Endpoints: View backend pod IPs
  • Session Affinity: Sticky sessions

Ingress

HTTP/HTTPS routing to services:

  • Host-Based Routing: Route by domain name
  • Path-Based Routing: Route by URL path
  • TLS Termination: HTTPS with certificates
  • Annotations: Configure ingress controller
  • Multiple Backends: Load balance across services

Network Policies

Control pod-to-pod communication:

  • Ingress Rules: Allow incoming traffic
  • Egress Rules: Allow outgoing traffic
  • Pod Selector: Target specific pods
  • Namespace Selector: Cross-namespace rules
  • Default Deny: Block all traffic by default

Configuration

ConfigMaps

Store configuration data:

  • Key-Value Pairs: Configuration settings
  • Files: Mount entire config files
  • Environment Variables: Inject into pods
  • Volume Mounts: Mount as files in containers
  • Updates: Changes don't auto-reload pods

Secrets

Store sensitive data:

  • Base64 Encoded: Not encrypted by default
  • Types: Opaque, TLS, Docker registry, etc.
  • Mount as Files: Volume mounts
  • Environment Variables: Inject into pods
  • RBAC Protected: Admin access only

Storage

Persistent Volumes (PV)

Cluster-wide storage resources:

  • Storage Classes: gp3, gp2, io1, efs
  • Access Modes: ReadWriteOnce, ReadOnlyMany, ReadWriteMany
  • Reclaim Policy: Retain, Delete, Recycle
  • Capacity: Storage size
  • Status: Available, Bound, Released, Failed

Persistent Volume Claims (PVC)

Request storage for pods:

  • Request Size: Minimum storage needed
  • Access Mode: How pods will use storage
  • Storage Class: Type of storage
  • Selector: Match specific PVs
  • Expansion: Resize if storage class supports

Storage Classes

Define storage types:

  • Provisioner: AWS EBS, EFS, etc.
  • Parameters: IOPS, throughput, type
  • Reclaim Policy: What happens when PVC deleted
  • Volume Binding Mode: Immediate or WaitForFirstConsumer
  • Allow Expansion: Can PVCs be resized

RBAC (Role-Based Access Control)

Roles & ClusterRoles

Define permissions:

  • Role: Namespace-scoped permissions
  • ClusterRole: Cluster-wide permissions
  • Rules: API groups, resources, verbs
  • Aggregation: Combine multiple roles

RoleBindings & ClusterRoleBindings

Grant permissions to users:

  • RoleBinding: Grant role in namespace
  • ClusterRoleBinding: Grant cluster-wide role
  • Subjects: Users, groups, service accounts
  • Role Reference: Which role to grant

Service Accounts

Identity for pods:

  • Default: Auto-created per namespace
  • Custom: Create for specific applications
  • Tokens: Auto-mounted in pods
  • Image Pull Secrets: Access private registries

Namespaces

Organize cluster resources:

  • Default: Auto-created default namespace
  • kube-system: System components
  • kube-public: Public resources
  • Custom: User-created namespaces
  • Resource Quotas: Limit namespace resources
  • Network Policies: Namespace isolation

Best Practices

Resource Management

  • Set CPU and memory requests/limits on all containers
  • Use horizontal pod autoscaling for variable workloads
  • Monitor resource utilization and adjust as needed
  • Use resource quotas to prevent namespace resource exhaustion

High Availability

  • Run at least 2-3 replicas for production services
  • Use pod disruption budgets to prevent downtime during updates
  • Distribute pods across availability zones with pod anti-affinity
  • Configure liveness and readiness probes

Security

  • Use network policies to restrict pod communication
  • Store secrets in external secret managers (AWS Secrets Manager)
  • Run containers as non-root users
  • Enable pod security policies or admission controllers

Monitoring & Logging

  • Collect metrics with Prometheus
  • Centralize logs with ELK or CloudWatch
  • Set up alerts for pod failures and resource issues
  • Monitor cluster events for warnings
tip

Use the platform web interface for one-off tasks and troubleshooting. For automation and GitOps, use kubectl and infrastructure-as-code tools like Terraform or Helm.