Resource Requirements
Desarrollo del tema
La presente guía aborda la configuracion de recursos a Pods mediante limites.
Laboratorio: Resource Requirements
Descripción
La presente guía aborda la configuracion de recursos a Pods mediante limites.
Objetivos
- Crear un Deployment a partir de un archivo YAML
- Configurar limites de CPU y Memoria al Deployment
- Validar las configuraciones proporcionadas al Deployment
Antes de comenzar
- Contar con el acceso al ambiente de laboratorio
Conexión hacia cluster
-
Ingrese al cluster asignado con las credenciales proporcionadas
-
Obtenga el archivo kubeconfig posicionando sobre la carpeta a trabajar y cambiando su nombre a config
mv /path/to/kubeconfig ~/.kube/config -
Configure la variable
KUBECONFIGexport KUBECONFIG=~/.kube/config -
Verifique el acceso mediante comandos
kubectl get namespaces kubectl config set-context --current --namespace=userx
Inicio de laboratorio
-
Ubíquese en la carpeta
app-k8s-deployy cree un archivo llamadodeployment-resources.yamlcon el siguiente contenido1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
apiVersion: apps/v1 kind: Deployment metadata: name: basic-api namespace: userx labels: app: basic-api spec: replicas: 1 selector: matchLabels: app: basic-api template: metadata: labels: app: basic-api spec: containers: - name: basic-api image: quay.io/rlam/api-demo:1.0 ports: - containerPort: 8080 -
Agregue el bloque
resourcesenspec.template.spec.containers[0]de la siguiente forma1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
apiVersion: apps/v1 kind: Deployment metadata: name: basic-api namespace: userx labels: app: basic-api spec: replicas: 1 selector: matchLabels: app: basic-api template: metadata: labels: app: basic-api spec: containers: - name: basic-api image: quay.io/rlam/api-demo:1.0 resources: requests: memory: cpu: limits: memory: cpu: ports: - containerPort: 8080 -
Asigne un valor por cada recurso en
requestsylimits20 21 22 23 24 25 26
resources: requests: memory: "64Mi" cpu: "50m" limits: memory: "128Mi" cpu: "100m" -
Levante el Deployment
kubectl apply -f deployment-resources.yaml -
Revise la información del deployment
kubectl describe deploy/basic-api -
Revise los pods en el namespace
kubectl get pods -
Revise la información del pod
# Cambie nombre-pod por el nombre real del Pod kubectl describe pod nombre-pod -
Cambie el valor de memoria en
requestsylimitsa256Miy512Mirespectivamente20 21 22 23 24 25 26
resources: requests: memory: "256Mi" cpu: "50m" limits: memory: "512Mi" cpu: "100m" -
Sincronize los cambios
kubectl apply -f deployment-resources.yaml -
Revise la información del deployment
kubectl describe deploy/basic-api -
Revise los pods en el namespace
kubectl get pods -
Revise la información del pod
# Cambie nombre-pod por el nombre real del Pod kubectl describe pod nombre-pod -
Limpie el ambiente
kubectl delete -f deployment-resources.yaml