6.1 Limitacion De Uso De Recursos Flashcards
Cómo se limitan los recursos del deployment hello-world-nginx:v1.0 –image quay.io/redhattraining/hello-world-nginx:v1.0
minimo de recursos:
20 Mi
10m cpu
Maximo de recursos:
cpu: “80m”
memory: 100Mi
En yaml desde el atributo spec:
…output omitted…
spec:
containers:
- image: quay.io/redhattraining/hello-world-nginx:v1.0
name: hello-world-nginx
resources:
requests:
cpu: “10m”
memory: 20Mi
limits:
cpu: “80m”
memory: 100Mi
status: {}
Cómo se observan los límites de requests y limits de los nodos
oc describe node NAME
Cómo se muestra el uso real de los pods de un proyecto?
oc adm top pods
Cómo se muestra el uso de los nodos con role worker
oc adm top nodes -l node-role.kubernetes.io/worker
Recursos sobre los que una quota puede limitar en su conteo
Pods Replicationcontrollers services secrets persistentvolumeclaims
Recursos de cómputo que una quota puede restringir por recurso
requests. Cpu
requests. Memory
requests. Storage
Describe la sintaxis de cuota en yaml
nombre dev-quota
servicios a 10
cpu a 1300
memoria 1.5Gi
apiVersion: v1 kind: ResourceQuota metadata: name: dev-quota spec: hard: services: "10" cpu: "1300m" memory: "1.5Gi"
Cómo se crea un recurso desde un archivo FILE.yaml
oc create –save-config -f FILE.yaml
Cómo se crea una cuota dev-quota en cmd oc
servicios 10
cpu 1300m
memory 1.5Gi
oc create quota dev-quota –hard services=10,cpu=1300m,memory=1.5Gi
Cómo se obtienen las cuotas
oc get resourcequota
¿Qué comando se usa en OpenShift para describir los detalles de una cuota específica llamada NAME?
oc describe quota NAME
Cómo se elimina una cuota
oc delete resourcequota QUOTA
Como se coloca el label de un nodo ejemplo master01 etiqueta env a dev
oc label node master01 env=dev
Como se sobreescribe la etiqueta env a prod del nodo master01
oc label node master01 env=prod –overwrite
Como se quita la etiqueta env del nodo master01
oc label node master01 env-
Como se muestran los labels del nodo master02
oc get node master02 –show-labels
Como se obtienen los nodos que tienen la etiqueta env
oc get nodes -L env
Como puedo obtener la relación entre machine set y nodos
oc get machines -n openshift-machine-api -o wide
Como se puede editar el machineset ocp-qz7hf-worker-us-west-1b
oc edit machineset ocp-qz7hf-worker-us-west-1b \
> -n openshift-machine-api
Como se coloca en el deployment llamado myapp para que este solo se coloque en los nodos con el label env dev desde yaml desde el tag spec:
…output omitted…
spec:
…output omitted…
template:
metadata:
annotations:
openshift.io/generated-by: OpenShiftNewApp
creationTimestamp: null
labels:
deployment: myapp
spec:
nodeSelector:
env: dev
containers:
- image: quay.io/redhattraining/scaling:v1.0
…output omitted…
nodeSelector:
env: dev
Como puedes colocar el label env dev con el comando oc patch
[user@host ~]$ oc patch deployment myapp –patch \
> ‘{“spec”:{“template”:{“spec”:{“nodeSelector”:{“env”:”dev”}}}}}’
Como se configura el node selector para el proyecto new-project llamado demo sobre los labels tier=1 con comandos de proyecto nuevo
oc adm new-project demo –node-selector “tier=1”
Como se sobreescribe el selector default del proyecto demo y que utilice “tier=2”
oc annotate namespace demo \
> openshift.io/node-selector=”tier=2” –overwrite
Como se escala el numero de replicas a 3 para el deployment my app
[user@host ~]$ oc scale –replicas 3 deployment/myapp
Como se pueden obtener los eventos de Warning
oc get events –fields-selector type=Warning
Como se pueden eliminar todos los recursos de la app hello-limit
oc delete all -l app=hello-limit
Cómo se limitan los recursos del deployment hello-world-nginx:v1.0 –image quay.io/redhattraining/hello-world-nginx:v1.0
requests=>
20 Mi
10m cpu
limits=>
cpu 80m
memory 100Mi
En linea de comandos
oc set resources deployment hello-world-nginx –requests cpu=10m,memory=20Mi –limits cpu=80m,memory=100Mi
Como se crea un deployment salvando el archivo en ~/DO280/labs/schedule-limit/hello-limit.yaml. Nombre hello-limit y usar la imagen quay.io/redhattraining/hello-world-nginx:v1.0.
oc create deployment hello-limit –image quay.io/redhattraining/hello-world-nginx:v1.0 –dry-run=client -o yaml > ~/DO280/labs/schedule-limit/hello-limit.yaml
Como se modifica el hello-limit.yaml para agregar
3 cpu
20Mi de memoria
spec:
containers:
- image: quay.io/redhattraining/hello-world-nginx:v1.0
name: hello-world-nginx
resources: {}
Se agrega
spec:
containers:
- image: quay.io/redhattraining/hello-world-nginx:v1.0
name: hello-world-nginx
resources:
requests:
cpu: “3”
memory: 20Mi
¿Qué comando se usa en OpenShift para aplicar la configuración especificada en el archivo hello-limit.yaml?
oc apply -f hello-limit.yaml
Como se escala a 4 deplicas el deployment hello-limit
oc scale –replicas 4 deployment/hello-limit
Como se especifica el label y las replicas 1 del deployment sscale en los contenedores del deployment
apiVersion: apps/v1
kind: Deployment
…output omitted…
spec:
replicas: 1
selector:
matchLabels:
deployment: scale
strategy: {}
template:
metadata:
labels:
deployment: scale
spec:
containers:
…output omitted…
Como se coloca un autoscale al deployment hello minimo 1 y maximo 10 con el cpu al 80
oc autoscale deployment/hello \
> –min=1 –max=10 –cpu-percent=80
Como obtienes los limites y requests y los muestras del pod loadtest-5f9565dbfb-jm9md
oc describe pod/loadtest-5f9565dbfb-jm9md | \
> grep -A2 -E “Limits|Requests”
Limits:
cpu: 100m
memory: 100Mi
Requests:
cpu: 25m
memory: 25Mi
Como se obtienen los horizontal pod scalers
oc get hpa/loadtest
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS …
loadtest Deployment/loadtest 0%/50% 2 10 2 …
Que significa hpa
Horizontal Pod Scaler