1 Introduction
Oracle Cloud Native Environment is a fully integrated suite for the development and management of cloud native applications.
Oracle Cloud Native Environment is a curated set of open source projects that are based on open standards, specifications and APIs defined by the Open Container Initiative (OCI) and Cloud Native Computing Foundation (CNCF) that can be easily deployed, have been tested for interoperability and for which enterprise-grade support is offered. Oracle Cloud Native Environment delivers a simplified framework for installations, updates, upgrades and configuration of key features for orchestrating microservices.
Oracle Cloud Native Environment uses Kubernetes to deploy and manage containers. When you create an environment, in addition to Kubernetes nodes, the Oracle Cloud Native Environment Platform API Server must be installed on a server, and is needed to perform a deployment and manage modules. The term module refers to a packaged software component that can be deployed to provide both core and optional cluster-wide functionality. The Kubernetes module for Oracle Cloud Native Environment is the core module, and automatically installs and configures Kubernetes, CRI-O, runC and Kata Containers on the Kubernetes nodes and brings up a Kubernetes cluster.
The Kubernetes nodes run an Oracle Cloud Native Environment Platform Agent. The Platform Agent communicates with the Platform API Server to manage the deployment of modules.
The Oracle Cloud Native Environment Platform Command-Line Interface performs the validation and deployment of modules to the nodes, enabling easy deployment of modules such as the Kubernetes module. The required software for modules is configured by the Platform CLI, such as Kubernetes, CRI-O, runC, Kata Containers, CoreDNS, Flannel and Calico. The Platform CLI also reports details about installed modules.
There are optional modules that can be installed into a Kubernetes cluster:
-
The Calico module for Oracle Cloud Native Environment, which is used to set up Calico as the Kubernetes CNI for the pod data plane.
-
The Multus module for Oracle Cloud Native Environment which is used to set up Multus, which is used to create a network bridge Calico or Flannel.
-
The Oracle Cloud Infrastructure Cloud Controller Manager module for Oracle Cloud Native Environment, which is used to set up persistent storage and load balancers to provide external IP addresses for Kubernetes applications in a Kubernetes cluster running on Oracle Cloud Infrastructure instances.
- The MetalLB module for Oracle Cloud Native Environment, which is used to provide external IP addresses for Kubernetes applications running on bare metal hosts. MetalLB allows you to use Kubernetes LoadBalancer services, which traditionally make use of a cloud provider network load balancer, in a bare metal environment.
-
The Gluster Container Storage Interface module for Oracle Cloud Native Environment, which is used to set up Glusterfs persistent storage for Kubernetes applications in a Kubernetes cluster.
-
The Operator Lifecycle Manager module for Oracle Cloud Native Environment, which is used to deploy and manage Kubernetes operators in a Kubernetes cluster.
-
The Istio module for Oracle Cloud Native Environment, which is used to deploy a service mesh on top of the Kubernetes cluster. The Istio module also installs the Prometheus module and the Grafana module.