Kubernetes
Esta página está dedicada a almacenar yamls e información útil sobre Kubernetes. Si, por no ir a la página oficial de Kubernetes 😬.
YAMLs con ejemplos
Namespace
Los namespace se usan para organizar los recursos de Kubernetes. Si se tienen varios proyectos o equipos trabajando en un mismo cluster, es recomendable usar namespaces para separar los recursos.
Click para ver
apiVersion: v1
kind: Namespace
metadata:
name: my-namespace
Deployment
El deployment es un controlador de Kubernetes que administra un conjunto de replicas de un pod.
Click para ver
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
Service
El servicio es un recurso de Kubernetes que expone una aplicación a través de una dirección IP (interna del cluster) y un puerto.
Click para ver
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
Pod
Un pod es la unidad más pequeña de Kubernetes, que puede contener uno o varios contenedores.
Click para ver
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
ReplicaSet
El ReplicaSet es un controlador de Kubernetes que garantiza que un número específico de réplicas de un pod estén en funcionamiento en todo momento.
Click para ver
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-replicaset
labels:
app: nginx
spec:
replicas: 10
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
DaemonSet
El DaemonSet es un controlador de Kubernetes que garantiza que todos los nodos del clúster ejecuten una copia de un pod. Es útil para tareas de monitoreo o logging.
Click para ver
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: example-daemonset
spec:
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
containers:
- name: example
image: busybox
command: ["sh", "-c", "while true; do echo Hello from DaemonSet; sleep 10; done"]
Comandos útiles
Instalar metrics-server
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml