Container Network Interface
Objects in deployments managed by the Couchbase Autonomous Operator define network resources that are implemented through Container Network Interface plugins.
Kubernetes managed deployments define a number of resources as conceptual objects which are then created and managed at runtime. Kubernetes uses a plugin architecture for defining networks from the Container Network Interface (CNI) project in the Cloud Native Computing Foundation (CNCF). When deploying Couchbase on Kubernetes, the objects specified in your deployment and the Couchbase Autonomous Operator will in turn define network resources that are implemented through these CNI plugins.
In general, as a user, you will interact with other configuration objects such as NodePorts and LoadBalancers which in turn use the network primitives implemented by CNI plugins. The Kubernetes Networking page in the Autonomous Operator concept documentation gives more details on the concepts as they relate to Couchbase. Further information on network deployment options and client connectivity is covered on the Couchbase Networking page.
Interacting with Container Network Interface (CNI) plugins is done primarily through configuration of other objects, notably the
couchbaseclusters.spec.networking section of the
CouchbaseCluster custom resource specification, rather than direct action with any CNI plugin.
As you deploy Couchbase via the Couchbase Autonomous Operator, you are indirectly defining network resources through the Kubernetes CNI.
For more advanced Couchbase networking deployment options, refer to the tutorials in the links below.
Concept: Kubernetes Networking
Concept: Couchbase Networking
Tutorial: Public Networking with External DNS