Hoy continuaré presentando conocimientos relacionados con la operación y el mantenimiento de Linux. El contenido principal de este artículo es el selector de nodos y la anotación de recursos.
Una introducción a los selectores de nodos
El selector de nodos Pod es una aplicación de selector de etiquetas, que puede ejecutarse en el nodo que especificamos cuando se crea el objeto Pod. En el campo de especificación del objeto Pod, hay dos propiedades, nodeName y nodeSelector. Ejecutando una orden:
kubectl explain pods.spec
Estas dos propiedades se pueden ver, y el resultado se ve así:
2. Etiqueta de nodo y adición de etiqueta de nodo
En un clúster de Kubernetes, cada nodo tendrá su propia etiqueta, que está relacionada con el sistema operativo y los atributos básicos del nodo. Ejecutando una orden:
kubectl get nodes --show-labels
Puede ver los nodos Node y las etiquetas de los nodos en el clúster de Kubernetes. El resultado de la ejecución de este comando es el siguiente:
Del mismo modo, también podemos agregar etiquetas a los nodos especificados. Esta operación también usará el comando kubectl kube. El formato del comando es como sigue:
kubectl label nodes/【节点名】 【标签键】=【标签值】
Por ejemplo, ejecute el comando:
kubectl label nodes/node2 mem=big
Puede agregar la etiqueta mem=big al nodo node2 en el clúster de Kubernetes.El resultado de la ejecución de este comando es el siguiente:
3. Aplicación de selector de nodos
A continuación, usamos el selector de nodos para controlar el nodo en el que se ejecuta el objeto Pod. Creamos una lista de recursos de objetos Pod (consulte el artículo si no conoce la lista de recursos: Explicación detallada de Kubernetes (9) - Lista de configuración de recursos para crear un Pod en la práctica , el contenido anterior se describe en detalle en este artículo, por lo que no entraré en detalles aquí. , que principalmente presenta la configuración relacionada con el selector de nodos), y escribe el contenido de la siguiente manera:
apiVersion: v1
kind: Pod
metadata:
name: pod-demo-test
namespace: default
labels:
label1: mypod1
label2: mypod2
spec:
containers:
- name: busybox
image: busybox
command:
- "/bin/sh"
- "-c"
- "sleep 7200"
nodeSelector:
mem: big
En el módulo de especificaciones de este manifiesto de recursos, usamos el selector de nodos nodeSelector y seleccionamos el nodo mem=big.
Después de crear el manifiesto de recursos, ejecutamos el comando:
kubectl create -f pod-demo-test.yaml
La creación del objeto Pod se completa de acuerdo con la configuración de la lista de recursos, el resultado de la ejecución de este comando es el siguiente: Como
puede ver, después de configurar el selector de nodos, el objeto Pod se ejecutará en el nodo node2, que indica que el selector de nodos selecciona Nodo.función de nodo.
4. Anotación de recursos
Finalmente, hablemos de las anotaciones de anotaciones de recursos. Además de las etiquetas, los objetos de recursos individuales en un clúster de Kubernetes también pueden usar anotaciones de recursos. Las anotaciones de recursos son similares a las etiquetas y también son datos de pares clave-valor, pero las anotaciones de recursos no se pueden usar para seleccionar objetos, solo se puede proporcionar información de metadatos. Pero la ventaja de las anotaciones de recursos es que no están limitadas por la cantidad de caracteres y caracteres de soporte que están prohibidos en las etiquetas.
La originalidad no es fácil, indique la fuente para la reimpresión: https://blog.csdn.net/weixin_40228200