- Topics
- Containers
- What is the Kubernetes API?
What is the Kubernetes API?
Overview
The Kubernetes API is the front end of the Kubernetes control plane and is how users interact with their Kubernetes cluster. The API (application programming interface) server determines if a request is valid and then processes it.
In essence, the API is the interface used to manage, create, and configure Kubernetes clusters. It's how the users, external components, and parts of your cluster all communicate with each other.
At the center of the Kubernetes control plane is the API server and the HTTP API that it exposes, allowing you to query and manipulate the state of Kubernetes objects.
Kubernetes
To understand the full context of the Kubernetes API, let’s back up and take a high-level look at whatKubernetes is.
Kubernetes is an open source platform for orchestrating containers. A container is technology that lets you bundle and isolate applications with their entire runtime environment so that it’s easy to move the contained application between stages (development, production, etc.) and environments (on-premise, public cloud, private cloud, hybrid cloud, or multicloud) while retaining full functionality.
So as acontainer orchestration platform, Kubernetes automates a lot of the manual processes involved in managing, deploying, and scaling containerized apps.
By grouping together the machines (physical or virtual servers known as "nodes") running the containerized apps, you create a cluster, which you then manage and orchestrate with Kubernetes.
A group of containers running on a single machine or node, and sharing resources, is known as a "pod" though a pod can also only have one container, in which case you can replace the word "pod" with the word "container" and still have the correct concept.
Red Hat resources
Clusters
AKubernetes cluster has 2 parts: the control plane and the application plane. The control plane is where we find the API, which is how the user interacts with the cluster and tells it what to do within the command line, using kubectl (a command line tool). Through the API, end users, the cluster itself, and external components can communicate with each other.
Clusters each have a desired state, meaning a state which defines which apps or workloads should be running, as well as other configuration details like which images they use and which resources they need. The desired state of a cluster is set using the API, either through the command line’s kubectl tool or by interacting with the cluster via the API to set or modify the desired state.
Kubernetes will automaticallymanage your cluster to match the desired state. Kubernetes is declarative in that it will always attempt to self-manage and self-heal based on the parameters given to its workloads.
The API and Kubernetes operator
AKubernetes operator is a method of packaging, deploying, and managing an app by using the API via kubectl tooling.
In Kubernetes, an operator is an application-specific controller that extends the functionality of the Kubernetes API to create, configure, and manage instances of complex applications on behalf of the user. By including domain or app-specific information, an operator makes it possible for Kubernetes to automate the entire life cycle of the software it manages.
Why choose Red Hat for Kubernetes?
As a leader of open source container technology and a creator of multiple tools and products to manage your container infrastructure, Red Hat helps bring Kubernetes and containers to your enterprise.
With Red Hat® OpenShift®, you get an open source container platform that is enterprise-ready, with everything you need to manage hybrid cloud and multicloud deployments. We can help you transition your business to the cloud, while still getting the most from your current infrastructure.
As part of a single, integrated platform, developers can choose the language, middleware, frameworks, and databases, while also deploying automation to increase efficiency and productivity.
The official Red Hat blog
Get the latest information about our ecosystem of customers, partners, and communities.
All Red Hat product trials
Keep reading
What is a Linux container?
What is container orchestration?
What is Kubernetes?
Containers resources
Related content
Blog post
Reduce risk in Kubernetes: How to separate admin roles for safer, compliant operations
Checklist
Case study
Case study
GSE and Blaze transform the electricity market with OpenShift
Related articles
- What is a Linux container?
- What is container orchestration?
- What is a service mesh?
- Stateful vs stateless applications
- What is Kubernetes?
- Red Hat OpenShift on VMware
- What is KubeVirt?
- Why use Red Hat Ansible Automation Platform with Red Hat OpenShift?
- What is Podman Desktop?
- What is Podman?
- What is application integration?
- What is the Kubernetes Java client?
- What are hosted control planes?
- What is kubernetes security?
- Red Hat OpenShift for developers
- Containers vs VMs
- Edge computing with Red Hat OpenShift
- How Kubernetes can help AI/ML
- What is Kubeflow?
- What are microservices?
- What is container security?
- OpenShift vs. OpenStack: What are the differences?
- what is Buildah?
- What are sandboxed containers
- Kubernetes vs OpenStack
- What are validated patterns?
- Kubernetes on AWS: Self-Managed vs. Managed Applications Platforms
- What is an image builder?
- What is middleware?
- Red Hat OpenShift vs. OKD
- Red Hat OpenShift vs. Kubernetes: What's the difference?
- What is high availability and disaster recovery for containers?
- Why run Apache Kafka on Kubernetes?
- Spring on Kubernetes with Red Hat OpenShift
- What is Apache Kafka?
- What is a golden image?
- What are Red Hat OpenShift cloud services?
- Why choose Red Hat for middleware?
- VNF and CNF, what’s the difference?
- What is a container registry?
- What is Skopeo?
- What are Red Hat OpenShift Operators?
- Using Helm with Red Hat OpenShift
- Kubernetes security best practices
- What is an API?
- Orchestrating Windows containers on Red Hat OpenShift
- What is a Kubernetes operator?
- Red Hat OpenShift application services
- What is an independent software vendor (ISV)?
- High performance computing with Red Hat OpenShift
- Advantages of Kubernetes-native security
- What is a Kafka service?
- What is KubeLinter?
- What is streaming data?
- Intro to Kubernetes security
- Container and Kubernetes compliance considerations
- Do banking APIs benefit from cloud technology?
- What is a service registry?
- What is an event mesh?
- How microservices support IT integration in healthcare
- Kubernetes cluster management
- Red Hat OpenShift on IBM IT infrastructure
- Red Hat OpenShift for business leaders
- Cost management for Kubernetes on Red Hat OpenShift
- How to deploy Red Hat OpenShift
- Why choose Red Hat for Kubernetes?
- Kubernetes-native Java development with Quarkus
- What is enterprise Kubernetes?
- What makes Red Hat OpenShift the right choice for IT operations?
- What makes Red Hat OpenShift the right choice for SAP?
- What is Kubernetes role-based access control (RBAC)
- What is containerization?
- What is change data capture?
- What was CoreOS and CoreOS container Linux
- Why Red Hat for APIs?
- Learning Kubernetes basics
- What is service-oriented architecture?
- What is Kubernetes cluster management?
- What is a REST API?
- What is a Kubernetes deployment?
- Why choose the Red Hat build of Quarkus?
- Introduction to Kubernetes architecture
- What is CaaS?
- Introduction to Kubernetes patterns
- What is a Kubernetes cluster?
- What is Quarkus?
- What is Jaeger?
- What is event-driven architecture?
- What is API monetization?
- REST vs. SOAP
- Why choose Red Hat for integration?
- What is API design?
- What is Clair?
- What is GraphQL?
- What is API management?
- What does an API gateway do?
- What is etcd?
- What is API security?
- What is container-native virtualization?
- What is Knative?
- Why choose Red Hat for microservices?
- Why choose Red Hat for containers?
- What is Docker?
- What is a Kubernetes pod?
- What is integration?