Kubernetes is not a programming language, but rather a container orchestration platform. It is used to manage the deployment, scaling, and maintenance of containerized applications (for example, with Docker).
Clarification
Kubernetes is primarily written in Go (Golang).
Developers don't write "Kubernetes" code: they use YAML configuration files to describe the desired state of the applications (pods, services, volumes, etc.).
These files are then interpreted by Kubernetes to orchestrate the containers.
Example YAML configuration
yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx:latest
ports:
- containerPort: 80
Here, we're not programming in Kubernetes; we're declaring the desired state (a pod with an Nginx container). Kubernetes takes care of creating and managing it.
Equivalencies
Programming language: Go (used to develop Kubernetes itself).
Configuration language: YAML (used by users to interact with Kubernetes).
Key concept: It's declarative rather than imperative. We describe what we want, not how to do it.