Before you start v1

Before you get started, it's essential that you become familiar with some terminology that's specific to Kubernetes and PGD.

Kubernetes terminology

Node : A node is a worker machine in Kubernetes, either virtual or physical, where all services necessary to run pods are managed by the control plane nodes.

Pod : A pod is the smallest computing unit that can be deployed in a Kubernetes cluster and is composed of one or more containers that share network and storage.

Service : A service is an abstraction that exposes as a network service an application that runs on a group of pods and standardizes important features, such as service discovery across applications, load balancing, and failover.

Secret : A secret is an object that's designed to store small amounts of sensitive data, such as passwords, access keys, or tokens, for use within pods.

Storage class : A storage class allows an administrator to define the classes of storage in a cluster, including provisioner (such as AWS EBS), reclaim policies, mount options, volume expansion, and so on.

Persistent volume : A persistent volume (PV) is a resource in a Kubernetes cluster that represents storage that was either manually provisioned by an administrator or dynamically provisioned by a storage class controller. A PV is associated with a pod using a persistent volume claim, and its lifecycle is independent of any pod that uses it. Normally, a PV is a network volume, especially in the public cloud. A local persistent volume (LPV) is a persistent volume that exists only on the particular node where the pod that uses it is running.

Persistent volume claim : A persistent volume claim (PVC) represents a request for storage, which might include size, access mode, or a particular storage class. Similar to how a pod consumes node resources, a PVC consumes the resources of a PV.

Namespace : A namespace is a logical and isolated subset of a Kubernetes cluster and can be seen as a virtual cluster within the wider physical cluster. Namespaces allow administrators to create separated environments based on projects, departments, teams, and so on.

RBAC : Role-based access control (RBAC), also known as role-based security, is a method used in computer systems security to restrict access to the network and resources of a system to authorized users only. Kubernetes has a native API to control roles at the namespace and cluster level and associate them with specific resources and individuals.

CRD : A custom resource definition (CRD) is an extension of the Kubernetes API and allows developers to create new data types and objects, called custom resources.

Operator : An operator is a Kubernetes software extension that automates those steps that are normally performed by a human operator when managing one or more applications or given services. An operator assists Kubernetes in making sure that the resource's defined state always matches the observed one.

kubectl : kubectl is the command-line tool used to manage a Kubernetes cluster.

EDB Postgres Distributed for Kubernetes requires a Kubernetes version supported by the community. See Supported releases for details.

PGD terminology

For more information, see Terminology in the PGD documentation.

Data node : A PGD database instance.

Failover : The automated process that recognizes a failure in a highly available database cluster and takes action to connect the application to another active database.

Switchover : A planned change in connection between the application and the active database node in a cluster, typically done for maintenance.

Write leader : In always-on architectures, a node is selected as the correct connection endpoint for applications. This node is called the write leader. The write leader is selected by consensus of a quorum of data nodes.

Cloud terminology

Region : A region in the cloud is an isolated and independent geographic area organized in availability zones. Zones within a region have very little round-trip network latency.

Zone : An availability zone in the cloud (also known as a zone) is an area in a region where resources can be deployed. Usually, an availability zone corresponds to a data center or an isolated building of the same data center.

What to do next

Now that you are familiar with the terminology, you can test EDB Postgres Distributed for Kubernetes on your laptop using a local cluster before deploying the operator in your selected cloud environment.