Giving containerized app developers standard APIs and protocols is easy enough. How do you actually ensure they follow them? That’s the question the Cloud Native Computing Foundation (CNCF) aims to answer through a new Kubernetes certification program.
The Certified Kubernetes Conformance Program is designed to ensure that distributions of Kubernetes, the open-source container orchestrator, conform to community-based standards for Kubernetes development and deployment. It certifies some APIs and runtimes that interact with Kubernetes as well.
Kubernetes Conformance and Interoperability
Guaranteeing conformance with Kubernetes standards is important because it helps to ensure that an application deployed on one Kubernetes distribution can be ported to another. If both distributions are certified by the CNCF through this new program, portability should not be a problem.
Portability and standards compliance are kind of a big deal in the container space. Most container platforms and technologies, such as Docker and Kubernetes, are and always have been open source. In theory, open-source platforms always should be interoperable, because they are community-developed and designed to promote collaboration and inclusion.
In practice, however, not all technologies in the Docker container space are interoperable. While container runtime compatibility is no longer as great a concern as it once was, thanks to the work of the OCI, interoperability limitations still exist.
Certain container registries work only with certain versions of Docker. Some cloud providers support only certain orchestrators. Some Linux distributions are better supported than others.
Lack of complete interoperability creates challenges for companies seeking to adopt container technology. No one wants to implement a specific Kubernetes distribution only to discover that migrating to an alternative distribution or adding a new component is difficult or impossible because of compatibility issues.
The Certified Kubernetes program helps to alleviate these concerns. Although the program is not a set of open standards for Kubernetes development, it does provide assurance that different implementations of Kubernetes, as well as technologies that rely on Kubernetes, are designed and developed in a way that prevents vendor lock-in and retains compatibility with the broader Kubernetes ecosystem.
The program currently certifies the conformance of 32 Kubernetes distributions and technologies. Conformance is determined via automated testing, with the CNCF verifying results.