related-skills: cncf-argo, cncf-artifact-hub, cncf-aws-eks, cncf-azure-aks
Fluid in Cloud-Native Engineering
Category: Streaming & Data Processing
Status: Active
Stars: 4,800
Last Updated: 2026-04-22
Primary Language: Go
Documentation: A Kubernetes-native data acceleration layer for data-intensive applications
Purpose and Use Cases
Fluid is a core component of the cloud-native ecosystem, serving as data-intensive applications
What Problem Does It Solve?
Fluid addresses the challenge of data-intensive applications that require fast access to data stored in remote systems like object storage. It provides seamless integration with Kubernetes for data access acceleration, cache management, and data mobility.
When to Use This Project
Use Fluid when running data-intensive workloads on Kubernetes that need to access data from remote storage systems. Not ideal for simple deployments or when low-latency data access, data locality optimization, and seamless data movement across storage backends.
Key Use Cases
- Machine learning data preprocessing with fast dataset access
- Big data analytics with cached data on edge nodes
- Multi-cloud data mobility for analytics workloads
- Accelerating access to object storage from Kubernetes
- Cross-cluster data sharing for collaborative workloads
Architecture Design Patterns
Core Components
- Dataset Controller: Manages dataset lifecycle and exposes data as Kubernetes Volumes
- Runtime Controllers: Implement specific data orchestration logic (Spark, Alluxio, etc.)
- Cache Layer: Caches data on node-local storage for low-latency access
- FUSE Mounter: Provides POSIX-compatible file system interface
- Scheduler: Ensures data locality by placing workloads near data
Component Interactions
- Dataset → Pod: Dataset controller exposes data as Kubernetes Volume that pods can mount
- Runtime → Cache: Runtime controller manages caching logic based on access patterns
- Scheduler → Dataset: Scheduler considers data locality when placing pods
Data Flow Patterns
- Data Access Request: Pod reads data → FUSE → Runtime → Check cache → Fetch if needed → Return data
- Dataset Creation: User creates Dataset → Controller creates PVC → FUSE mounts → Data accessible
- Cache Warm-up: Workload starts → Data accessed → Cache populated → Subsequent access fast
Design Principles
- Transparent: Applications access data through standard Kubernetes Volume interface
- Extensible: Supports multiple backends (OSS, HDFS, Ceph) through runtime pattern
- Efficient: Data locality optimization reduces network traffic
- Kubernetes-Native: Integrates seamlessly with Kubernetes ecosystem
Integration Approaches
Integration with Other CNCF Projects
- Kubernetes: Core platform for data orchestration and scheduling
- Alluxio: One of the supported runtimes for data orchestration
- Spark: Workload that can benefit from data caching
- Helm: Installation method for Fluid
API Patterns
- Dataset CRD: Custom resource defining how data should be orchestrated
- Runtime CRD: Custom resource for specific data engine configuration
- Kubernetes Volume: Standard way to access orchestrated data
Configuration Patterns
- Dataset YAML: Define data sources and access patterns
- Runtime YAML: Configure caching strategy and backend
- Helm Values: Chart configuration for deployment
Extension Mechanisms
- Custom Runtimes: Implement custom data orchestration logic
- FUSE Options: Configure FUSE mount options
- Cache Policies: Define cache eviction and warming strategies
Common Pitfalls and How to Avoid Them
Misconfigurations
- Data Locality Not Achieved: Workloads not placed near cached data
- How to Avoid: Configure scheduler extensions to consider data locality, use pod affinity rules
- Network Bottleneck: Network not optimized for data access
- How to Avoid: Use high-speed network, implement data compression, optimize access patterns
Performance Issues
- Memory Pressure: Cache consuming too much memory
- How to Avoid: Set memory limits, implement cache tiering, monitor memory usage
- Multi-Tenant Isolation: Data access not properly isolated
- How to Avoid: Use namespaces, implement RBAC for data access, encrypt data
Operational Challenges
- Version Upgrades: Upgrading Fluid breaking existing configurations
- How to Avoid: Test upgrades in staging, use versioned configurations, backup before upgrade
- Multi-Cloud Data Mobility: Data transfer costs and latency
- How to Avoid: Use regional caches, implement data lifecycle policies, optimize transfer schedules
Security Pitfalls
- Secrets in Config: Storing credentials in plaintext
- How to Avoid: Use Kubernetes Secrets, integrate with vault, encrypt at rest
Coding Practices
Idiomatic Configuration
- Declarative Data Definition: Use YAML manifests to define data requirements
- Policy-as-Code: Define caching and eviction policies in code
- Infrastructure-as-Code: Manage Fluid deployments with CI/CD
API Usage Patterns
- kubectl apply: Apply Dataset and Runtime configurations
- kubectl describe: Inspect dataset status and cache state
- Custom Controllers: Build operators for data workflow automation
Observability Best Practices
- Prometheus Metrics: Expose cache hit ratio, latency, and throughput metrics
- Logs Collection: Collect and analyze FUSE and runtime logs
- Tracing Integration: Trace data access patterns through the stack
Testing Strategies
- Unit Tests: Test individual components in isolation
- Integration Tests: Test end-to-end data flow in Kubernetes
- Performance Tests: Validate caching effectiveness and latency SLAs
Development Workflow
- Local Development: Use kind or minikube for development
- Debug Commands: Use kubectl logs and exec for debugging
- Test Environment: Set up test cluster with sample data
- CI/CD Integration: Automate testing and deployment with GitHub Actions
- Monitoring Setup: Configure Prometheus and Grafana for visibility
- Documentation: Maintain comprehensive documentation and examples
Fundamentals
Essential Concepts
- Dataset: Abstraction representing data that needs orchestration
- Runtime: Implementation of data orchestration logic
- Cache: Local storage used to accelerate data access
- FUSE: Filesystem interface for accessing orchestrated data
- Data Locality: Placing workloads near cached data
- Metadata Cache: Cached file metadata for fast lookup
- Data Prefetch: Loading data into cache before requested
- Eviction Policy: Algorithm for removing data from cache
- Backends: External storage systems (OSS, HDFS, etc.)
- Affinity: Pod scheduling based on data location
Terminology Glossary
- Dataset Controller: Kubernetes controller that manages Dataset resources
- Runtime Controller: Controller implementing specific data orchestration logic
- FUSE Mounter: Component that mounts data as filesystem
- Cache Manager: Component managing local cache storage
- Scheduler Extension: Component that considers data locality during scheduling
Data Models and Types
- DatasetSpec: Desired state of a dataset
- DatasetStatus: Current state of a dataset
- CachePolicy: Configuration for cache behavior
- RuntimeSpec: Configuration for a specific runtime
Lifecycle Management
- Dataset Creation: Create Dataset → Controller reconciles → PVC created → Mount ready
- Cache Warm-up: Data requested → Check cache → Fetch if needed → Populate cache
- Data Access: Application reads → FUSE intercepts → Cache check → Data returned
- Cache Eviction: Policy triggered → Data selected → Cache freed → Metadata updated
- Dataset Deletion: Delete Dataset → Controller cleans up → PVC deleted → Resources freed
State Management
- Dataset State: Bound, Available, or Failed
- Cache State: Hot (cached) or Cold (not cached)
- Runtime State: Ready or Not Ready
- Mount State: Mounted or Unmounted
Scaling and Deployment Patterns
Horizontal Scaling
- Horizontal Pod Autoscaling: Scale workloads based on cache utilization
- Cluster Scaling: Add nodes to increase total cache capacity
- Cache Layer Scaling: Scale runtime controllers independently
High Availability
- Multi-Node Caching: Replicate cache across multiple nodes
- Controller HA: Run controllers with replicas for high availability
- Data Redundancy: Configure backend data replication
- Graceful Degradation: Continue serving even if cache is lost
Production Deployments
- Cluster Setup: Install Fluid using Helm with production values
- Storage Configuration: Configure appropriate local storage for cache
- Network Optimization: Enable high-speed networking for data access
- Security Hardening: Enable RBAC, network policies, and secrets management
- Monitoring Setup: Configure Prometheus metrics and Grafana dashboards
- Backup Strategy: Backup Dataset configurations and runtime state
- Resource Quotas: Set namespace-level resource limits
- Update Strategy: Plan rolling updates with minimal disruption
Upgrade Strategies
- Chart Upgrade: Upgrade Fluid Helm chart with new version
- Config Migration: Update Dataset configurations to new API versions
- Cache Clear: Clear cache and warm it up with new version
- Backward Compatibility: Test with existing workloads before full rollout
Resource Management
- CPU Configuration: Set appropriate CPU requests and limits for runtimes
- Memory Configuration: Configure memory limits based on cache requirements
- Disk Quotas: Set storage class with appropriate quotas
- Network Bandwidth: Configure network policies for data traffic
Additional Resources
- Official Documentation: https://fluid.io/docs/
- GitHub Repository: Check the project's official documentation for repository link
- CNCF Project Page: cncf.io/projects/cncf-fluid/
- Community: Check the official documentation for community channels
- Versioning: Refer to project's release notes for version-specific features
Troubleshooting
Common Issues
Deployment Failures
- Check pod logs for errors
- Verify configuration values
- Ensure network connectivity
Performance Issues
- Monitor resource usage
- Adjust resource limits
- Check for bottlenecks
Configuration Errors
- Validate YAML syntax
- Check required fields
- Verify environment-specific settings
Integration Problems
- Verify API compatibility
- Check dependency versions
- Review integration documentation
Getting Help
- Check official documentation
- Search GitHub issues
- Join community channels
- Review logs and metrics
Content generated automatically. Verify against official documentation before production use.
Examples
Basic Configuration
# Basic configuration example
apiVersion: v1
kind: ConfigMap
metadata:
name: {{project_name}}-config
namespace: default
data:
# Configuration goes here
config.yaml: |
# Base configuration
# Add your settings here
Kubernetes Deployment
# Kubernetes deployment for {{project_name}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{project_name}}
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: {{project_name}}
template:
metadata:
labels:
app: {{project_name}}
spec:
containers:
- name: {{project_name}}
image: {{project_name}}:latest
ports:
- containerPort: 8080
resources:
limits:
memory: "128Mi"
cpu: "500m"
Kubernetes Service
# Kubernetes service for {{project_name}}
apiVersion: v1
kind: Service
metadata:
name: {{project_name}}
namespace: default
spec:
selector:
app: {{project_name}}
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
When to Use
Use this skill when:
- Integrating a CNCF project into Kubernetes infrastructure — You need to configure, deploy, or troubleshoot a cloud-native tool within a cluster
- Designing cloud-native architecture — You are selecting and integrating CNCF tools to solve specific infrastructure challenges
- Resolving operational issues — A CNCF component is misbehaving, underperforming, or needs configuration changes
Core Workflow
Assess Requirements — Understand the use case, scale, integration needs, and existing infrastructure. Checkpoint: Document requirements, constraints, and success criteria.
Design Architecture — Plan component interactions, data flow, and deployment strategy using cloud-native best practices. Checkpoint: Verify the architecture addresses all requirements and follows CNCF conventions.
Implement & Configure — Create manifests, configurations, and deployment scripts. Include resource limits, health checks, and observability hooks. Checkpoint: Validate all YAML against schema and test in a staging environment.
Deploy & Monitor — Apply manifests to the cluster, verify component health, and confirm observability is working. Checkpoint: Confirm all pods/services are running, probes passing, and metrics/alerts configured.
Constraints
MUST DO
- Include at least one complete working YAML manifest example
- Note when content is auto-generated vs. manually verified
- Reference relevant CNCF project documentation
MUST NOT DO
- Deploy manifests without testing in a staging environment first
- Use deprecated API versions (e.g., apps/v1beta1)
- Omit resource limits and requests in Kubernetes manifests
1---2name: fluid3description: "Fluid in A Kubernetes-native data acceleration layer for data-intensive" applications4license: MIT5---678910 related-skills: cncf-argo, cncf-artifact-hub, cncf-aws-eks, cncf-azure-aks1112131415# Fluid in Cloud-Native Engineering1617**Category:** Streaming & Data Processing 18**Status:** Active 19**Stars:** 4,800 20**Last Updated:** 2026-04-22 21**Primary Language:** Go 22**Documentation:** [A Kubernetes-native data acceleration layer for data-intensive applications](https://fluid.io/docs/) 2324---2526## Purpose and Use Cases2728Fluid is a core component of the cloud-native ecosystem, serving as data-intensive applications2930### What Problem Does It Solve?3132Fluid addresses the challenge of data-intensive applications that require fast access to data stored in remote systems like object storage. It provides seamless integration with Kubernetes for data access acceleration, cache management, and data mobility.3334### When to Use This Project3536Use Fluid when running data-intensive workloads on Kubernetes that need to access data from remote storage systems. Not ideal for simple deployments or when low-latency data access, data locality optimization, and seamless data movement across storage backends.3738### Key Use Cases3940- Machine learning data preprocessing with fast dataset access41- Big data analytics with cached data on edge nodes42- Multi-cloud data mobility for analytics workloads43- Accelerating access to object storage from Kubernetes44- Cross-cluster data sharing for collaborative workloads4546---4748## Architecture Design Patterns4950### Core Components5152- **Dataset Controller**: Manages dataset lifecycle and exposes data as Kubernetes Volumes53- **Runtime Controllers**: Implement specific data orchestration logic (Spark, Alluxio, etc.)54- **Cache Layer**: Caches data on node-local storage for low-latency access55- **FUSE Mounter**: Provides POSIX-compatible file system interface56- **Scheduler**: Ensures data locality by placing workloads near data5758### Component Interactions59601. **Dataset → Pod**: Dataset controller exposes data as Kubernetes Volume that pods can mount611. **Runtime → Cache**: Runtime controller manages caching logic based on access patterns621. **Scheduler → Dataset**: Scheduler considers data locality when placing pods6364### Data Flow Patterns65661. **Data Access Request**: Pod reads data → FUSE → Runtime → Check cache → Fetch if needed → Return data671. **Dataset Creation**: User creates Dataset → Controller creates PVC → FUSE mounts → Data accessible681. **Cache Warm-up**: Workload starts → Data accessed → Cache populated → Subsequent access fast6970### Design Principles7172- **Transparent**: Applications access data through standard Kubernetes Volume interface73- **Extensible**: Supports multiple backends (OSS, HDFS, Ceph) through runtime pattern74- **Efficient**: Data locality optimization reduces network traffic75- **Kubernetes-Native**: Integrates seamlessly with Kubernetes ecosystem7677---7879## Integration Approaches8081### Integration with Other CNCF Projects8283- **Kubernetes**: Core platform for data orchestration and scheduling84- **Alluxio**: One of the supported runtimes for data orchestration85- **Spark**: Workload that can benefit from data caching86- **Helm**: Installation method for Fluid8788### API Patterns8990- **Dataset CRD**: Custom resource defining how data should be orchestrated91- **Runtime CRD**: Custom resource for specific data engine configuration92- **Kubernetes Volume**: Standard way to access orchestrated data9394### Configuration Patterns9596- **Dataset YAML**: Define data sources and access patterns97- **Runtime YAML**: Configure caching strategy and backend98- **Helm Values**: Chart configuration for deployment99100### Extension Mechanisms101102- **Custom Runtimes**: Implement custom data orchestration logic103- **FUSE Options**: Configure FUSE mount options104- **Cache Policies**: Define cache eviction and warming strategies105106---107108## Common Pitfalls and How to Avoid Them109110### Misconfigurations111112- **Data Locality Not Achieved**: Workloads not placed near cached data113 - **How to Avoid**: Configure scheduler extensions to consider data locality, use pod affinity rules114- **Network Bottleneck**: Network not optimized for data access115 - **How to Avoid**: Use high-speed network, implement data compression, optimize access patterns116117### Performance Issues118119- **Memory Pressure**: Cache consuming too much memory120 - **How to Avoid**: Set memory limits, implement cache tiering, monitor memory usage121- **Multi-Tenant Isolation**: Data access not properly isolated122 - **How to Avoid**: Use namespaces, implement RBAC for data access, encrypt data123124### Operational Challenges125126- **Version Upgrades**: Upgrading Fluid breaking existing configurations127 - **How to Avoid**: Test upgrades in staging, use versioned configurations, backup before upgrade128- **Multi-Cloud Data Mobility**: Data transfer costs and latency129 - **How to Avoid**: Use regional caches, implement data lifecycle policies, optimize transfer schedules130131### Security Pitfalls132133- **Secrets in Config**: Storing credentials in plaintext134 - **How to Avoid**: Use Kubernetes Secrets, integrate with vault, encrypt at rest135136---137138## Coding Practices139140### Idiomatic Configuration141142- **Declarative Data Definition**: Use YAML manifests to define data requirements143- **Policy-as-Code**: Define caching and eviction policies in code144- **Infrastructure-as-Code**: Manage Fluid deployments with CI/CD145146### API Usage Patterns147148- **kubectl apply**: Apply Dataset and Runtime configurations149- **kubectl describe**: Inspect dataset status and cache state150- **Custom Controllers**: Build operators for data workflow automation151152### Observability Best Practices153154- **Prometheus Metrics**: Expose cache hit ratio, latency, and throughput metrics155- **Logs Collection**: Collect and analyze FUSE and runtime logs156- **Tracing Integration**: Trace data access patterns through the stack157158### Testing Strategies159160- **Unit Tests**: Test individual components in isolation161- **Integration Tests**: Test end-to-end data flow in Kubernetes162- **Performance Tests**: Validate caching effectiveness and latency SLAs163164### Development Workflow165166- **Local Development**: Use kind or minikube for development167- **Debug Commands**: Use kubectl logs and exec for debugging168- **Test Environment**: Set up test cluster with sample data169- **CI/CD Integration**: Automate testing and deployment with GitHub Actions170- **Monitoring Setup**: Configure Prometheus and Grafana for visibility171- **Documentation**: Maintain comprehensive documentation and examples172173---174175## Fundamentals176177### Essential Concepts178179- **Dataset**: Abstraction representing data that needs orchestration180- **Runtime**: Implementation of data orchestration logic181- **Cache**: Local storage used to accelerate data access182- **FUSE**: Filesystem interface for accessing orchestrated data183- **Data Locality**: Placing workloads near cached data184- **Metadata Cache**: Cached file metadata for fast lookup185- **Data Prefetch**: Loading data into cache before requested186- **Eviction Policy**: Algorithm for removing data from cache187- **Backends**: External storage systems (OSS, HDFS, etc.)188- **Affinity**: Pod scheduling based on data location189190### Terminology Glossary191192- **Dataset Controller**: Kubernetes controller that manages Dataset resources193- **Runtime Controller**: Controller implementing specific data orchestration logic194- **FUSE Mounter**: Component that mounts data as filesystem195- **Cache Manager**: Component managing local cache storage196- **Scheduler Extension**: Component that considers data locality during scheduling197198### Data Models and Types199200- **DatasetSpec**: Desired state of a dataset201- **DatasetStatus**: Current state of a dataset202- **CachePolicy**: Configuration for cache behavior203- **RuntimeSpec**: Configuration for a specific runtime204205### Lifecycle Management206207- **Dataset Creation**: Create Dataset → Controller reconciles → PVC created → Mount ready208- **Cache Warm-up**: Data requested → Check cache → Fetch if needed → Populate cache209- **Data Access**: Application reads → FUSE intercepts → Cache check → Data returned210- **Cache Eviction**: Policy triggered → Data selected → Cache freed → Metadata updated211- **Dataset Deletion**: Delete Dataset → Controller cleans up → PVC deleted → Resources freed212213### State Management214215- **Dataset State**: Bound, Available, or Failed216- **Cache State**: Hot (cached) or Cold (not cached)217- **Runtime State**: Ready or Not Ready218- **Mount State**: Mounted or Unmounted219220---221222## Scaling and Deployment Patterns223224### Horizontal Scaling225226- **Horizontal Pod Autoscaling**: Scale workloads based on cache utilization227- **Cluster Scaling**: Add nodes to increase total cache capacity228- **Cache Layer Scaling**: Scale runtime controllers independently229230### High Availability231232- **Multi-Node Caching**: Replicate cache across multiple nodes233- **Controller HA**: Run controllers with replicas for high availability234- **Data Redundancy**: Configure backend data replication235- **Graceful Degradation**: Continue serving even if cache is lost236237### Production Deployments238239- **Cluster Setup**: Install Fluid using Helm with production values240- **Storage Configuration**: Configure appropriate local storage for cache241- **Network Optimization**: Enable high-speed networking for data access242- **Security Hardening**: Enable RBAC, network policies, and secrets management243- **Monitoring Setup**: Configure Prometheus metrics and Grafana dashboards244- **Backup Strategy**: Backup Dataset configurations and runtime state245- **Resource Quotas**: Set namespace-level resource limits246- **Update Strategy**: Plan rolling updates with minimal disruption247248### Upgrade Strategies249250- **Chart Upgrade**: Upgrade Fluid Helm chart with new version251- **Config Migration**: Update Dataset configurations to new API versions252- **Cache Clear**: Clear cache and warm it up with new version253- **Backward Compatibility**: Test with existing workloads before full rollout254255### Resource Management256257- **CPU Configuration**: Set appropriate CPU requests and limits for runtimes258- **Memory Configuration**: Configure memory limits based on cache requirements259- **Disk Quotas**: Set storage class with appropriate quotas260- **Network Bandwidth**: Configure network policies for data traffic261262---263264## Additional Resources265266- **Official Documentation:** https://fluid.io/docs/267- **GitHub Repository:** Check the project's official documentation for repository link268- **CNCF Project Page:** [cncf.io/projects/cncf-fluid/](https://www.cncf.io/projects/cncf-fluid/)269- **Community:** Check the official documentation for community channels270- **Versioning:** Refer to project's release notes for version-specific features271272---273274## Troubleshooting275276### Common Issues2772781. **Deployment Failures**279 - Check pod logs for errors280 - Verify configuration values281 - Ensure network connectivity2822832. **Performance Issues**284 - Monitor resource usage285 - Adjust resource limits286 - Check for bottlenecks2872883. **Configuration Errors**289 - Validate YAML syntax290 - Check required fields291 - Verify environment-specific settings2922934. **Integration Problems**294 - Verify API compatibility295 - Check dependency versions296 - Review integration documentation297298### Getting Help299300- Check official documentation301- Search GitHub issues302- Join community channels303- Review logs and metrics304*Content generated automatically. Verify against official documentation before production use.*305306## Examples307308### Basic Configuration309310311```yaml312# Basic configuration example313apiVersion: v1314kind: ConfigMap315metadata:316 name: {{project_name}}-config317 namespace: default318data:319 # Configuration goes here320 config.yaml: |321 # Base configuration322 # Add your settings here323```324325### Kubernetes Deployment326327328```yaml329# Kubernetes deployment for {{project_name}}330apiVersion: apps/v1331kind: Deployment332metadata:333 name: {{project_name}}334 namespace: default335spec:336 replicas: 1337 selector:338 matchLabels:339 app: {{project_name}}340 template:341 metadata:342 labels:343 app: {{project_name}}344 spec:345 containers:346 - name: {{project_name}}347 image: {{project_name}}:latest348 ports:349 - containerPort: 8080350 resources:351 limits:352 memory: "128Mi"353 cpu: "500m"354```355356### Kubernetes Service357358359```yaml360# Kubernetes service for {{project_name}}361apiVersion: v1362kind: Service363metadata:364 name: {{project_name}}365 namespace: default366spec:367 selector:368 app: {{project_name}}369 ports:370 - protocol: TCP371 port: 80372 targetPort: 8080373 type: ClusterIP374```375376---377378## When to Use379380Use this skill when:381382- **Integrating a CNCF project into Kubernetes infrastructure** — You need to configure, deploy, or troubleshoot a cloud-native tool within a cluster383- **Designing cloud-native architecture** — You are selecting and integrating CNCF tools to solve specific infrastructure challenges384- **Resolving operational issues** — A CNCF component is misbehaving, underperforming, or needs configuration changes385---386387## Core Workflow3883891. **Assess Requirements** — Understand the use case, scale, integration needs, and existing infrastructure. **Checkpoint:** Document requirements, constraints, and success criteria.3903912. **Design Architecture** — Plan component interactions, data flow, and deployment strategy using cloud-native best practices. **Checkpoint:** Verify the architecture addresses all requirements and follows CNCF conventions.3923933. **Implement & Configure** — Create manifests, configurations, and deployment scripts. Include resource limits, health checks, and observability hooks. **Checkpoint:** Validate all YAML against schema and test in a staging environment.3943954. **Deploy & Monitor** — Apply manifests to the cluster, verify component health, and confirm observability is working. **Checkpoint:** Confirm all pods/services are running, probes passing, and metrics/alerts configured.396397---398399## Constraints400401### MUST DO402- Include at least one complete working YAML manifest example403- Note when content is auto-generated vs. manually verified404- Reference relevant CNCF project documentation405406### MUST NOT DO407- Deploy manifests without testing in a staging environment first408- Use deprecated API versions (e.g., apps/v1beta1)409- Omit resource limits and requests in Kubernetes manifests