|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
SUSE® Rancher Prime: RKE2 Referencia de configuración del clúster
Esta sección cubre las opciones de configuración que están disponibles en Rancher para un clúster de Kubernetes RKE2 nuevo o existente.
Descripción general
Puedes configurar las opciones de Kubernetes de una de las dos siguientes maneras:
-
Interfaz de Rancher: Utiliza la interfaz de Rancher para seleccionar opciones que se personalizan comúnmente al configurar un clúster de Kubernetes.
-
Archivo de Configuración del Clúster: En lugar de utilizar la interfaz de Rancher para elegir opciones de Kubernetes para el clúster, los usuarios avanzados pueden crear un archivo de configuración RKE2. Utilizar un archivo de configuración permite establecer muchas opciones adicionales disponibles para una instalación de RKE2.
Editando Clústeres en la Interfaz de Rancher
La interfaz de Rancher proporciona dos maneras de editar un clúster:
-
Con un formulario.
-
Con YAML.
Editando Clústeres con un Formulario
El formulario cubre las opciones más frecuentemente necesarias para los clústeres.
Para editar tu clúster,
-
Haz clic en ☰ > Gestión de Clústeres.
-
Ve al clúster que deseas configurar y haz clic en ⋮ > Editar Config.
Editando Clústeres en YAML
Para una referencia completa de las opciones configurables para clústeres RKE2 en YAML, consulta la documentación de RKE2.
Para editar tu clúster en YAML:
-
Haz clic en ☰ > Gestión de Clústeres.
-
Ve al clúster que deseas configurar y haz clic en ⋮ > Editar como YAML.
-
Edita las opciones de RKE bajo la directiva
rkeConfig.
Opciones de configuración en la interfaz de usuario de Rancher
Configuración del grupo de máquinas
Esta subsección cubre configuraciones genéricas del grupo de máquinas. Para configuraciones específicas de proveedores de infraestructura, consulta lo siguiente:
Nombre de repositorio
El nombre del grupo de máquinas.
Número de máquinas
El número de máquinas en el grupo.
Funciones
Opción para asignar roles de etcd, plano de control y trabajador a los nodos.
Avanzadas
Reemplazo automático
La cantidad de tiempo que los nodos pueden estar inalcanzables antes de ser eliminados y reemplazados automáticamente.
Drenar antes de eliminar
Permite drenar nodos desalojando todos los pods antes de que el nodo sea eliminado.
Etiquetas de nodo de Kubernetes
Añadir etiquetas a los nodos para ayudar con la organización y selección de objetos.
Para detalles sobre los requisitos de sintaxis de etiquetas, consulta la documentación de Kubernetes.
Taints
Añadir taints a los nodos, para evitar que los pods se programen o se ejecuten en los nodos, a menos que los pods tengan tolerancias coincidentes.
Configuración del clúster
Fundamentos
Kubernetes Version
La versión de Kubernetes instalada en los nodos de su clúster.
Para obtener detalles sobre cómo actualizar o revertir Kubernetes, consulte Actualización de Kubernetes.
Proveedor de red de contenedores
El Proveedor de red que utiliza el clúster.
|
Después de lanzar el clúster, no puedes cambiar tu proveedor de red. Por lo tanto, elige cuidadosamente qué proveedor de red deseas utilizar, ya que Kubernetes no permite cambiar entre proveedores de red. Una vez que se crea un clúster con un proveedor de red, cambiar de proveedores de red requeriría desmantelar todo el clúster y todas sus aplicaciones. |
De forma predeterminada, Rancher es compatible con los siguientes proveedores de red:
-
Al utilizar aislamiento de red del proyecto en el Cilium CNI, es posible habilitar el enrutamiento de ingreso entre nodos. Haz clic en la documentación del proveedor de CNI para aprender más.
Para más detalles sobre los diferentes proveedores de red y cómo configurarlos, por favor consulta nuestra documentación de RKE2.
|
Al utilizar |
Proveedor de nube
Puedes configurar un proveedor de nube de Kubernetes. Si deseas utilizar volúmenes y almacenamiento aprovisionados dinámicamente en Kubernetes, normalmente debes seleccionar el proveedor de nube específico para poder usarlo. Por ejemplo, si deseas utilizar Amazon EBS, necesitarías seleccionar el aws proveedor de nube.
|
Si el proveedor de nube que deseas utilizar no está listado como opción, necesitarás usar la opción de archivo de configuración para configurar el proveedor de nube. Por favor, consulta esta documentación sobre cómo configurar el proveedor de nube. |
Plantilla de configuración de admisión de seguridad de pods
La plantilla de configuración de admisión de seguridad de pods predeterminada plantilla de configuración de admisión de seguridad de pods para el clúster.
Perfil de cumplimiento del trabajador
Selecciona un punto de referencia de cumplimiento para validar la configuración del sistema.
Aislamiento de red del proyecto
Si su proveedor de red permite el aislamiento de red del proyecto, puede elegir habilitar o deshabilitar la comunicación entre proyectos.
El aislamiento de red del proyecto está disponible si estás utilizando cualquier complemento de red de RKE2 que soporte la aplicación de políticas de red de Kubernetes, como Canal.
CoreDNS
Por defecto, CoreDNS se instala como el proveedor de DNS predeterminado. Si CoreDNS no está instalado, debe instalar usted mismo un proveedor de DNS alternativo. Consulta la documentación de RKE2 para configuraciones adicionales de CoreDNS.
Ingress
-
Ingress-NGINX
-
Traefik
|
Ingress-NGINX EOL: El controlador de la comunidad |
Esta es la opción heredada de Ingress para habilitar Ingress-NGINX dentro del clúster. Consulta la documentación de RKE2 para opciones de configuración adicionales.
Si deseas exponer tus aplicaciones en una configuración de alta disponibilidad, y estás alojando tus nodos con un proveedor de nube que no tiene una función de balanceo de carga nativa, habilita esta opción para usar Traefik Ingress dentro del clúster. Consulta la documentación de RKE2 para opciones de configuración adicionales.
Servidor de Métricas
Opción para habilitar o deshabilitar Metrics Server.
Cada proveedor de nube capaz de lanzar un clúster utilizando RKE2 puede recopilar métricas y monitorizar tus nodos del clúster. Habilita esta opción para ver las métricas de tus nodos desde el portal de tu proveedor de nube.
Configuración de Complementos
Manifiestos adicionales de Kubernetes, gestionados como un Complemento, que se aplicarán al clúster al inicio. Consulta la documentación de RKE2 para obtener detalles.
Variables de Entorno del Agente
Opción para establecer variables de entorno para agentes de Rancher. Las variables de entorno se pueden establecer utilizando pares clave-valor. Consulta la documentación de RKE2 para más detalles.
etcd
Instantáneas Automáticas
Opción para habilitar o deshabilitar instantáneas recurrentes de etcd. Si está habilitado, los usuarios tienen la opción de configurar la frecuencia de las instantáneas. Para más detalles, consulta la documentación de RKE2. Ten en cuenta que con RKE2, las instantáneas se almacenan en cada nodo de etcd. Esto varía de RKE1, que solo almacena una instantánea por clúster.
Conectividad
CIDR del Clúster
CIDRs de red IPv4 y/o IPv6 a utilizar para IPs de pod (predeterminado: 10.42.0.0/16).
Valores de ejemplo:
-
Solo IPv4:
10.42.0.0/16 -
Solo IPv6:
2001:cafe:42::/56 -
Pila dual:
10.42.0.0/16,2001:cafe:42::/56
Para requisitos y limitaciones adicionales relacionados con la red de pila dual o solo IPv6, consulta los siguientes recursos:
|
Service CIDR
CIDRs de red IPv4/IPv6 a utilizar para las IPs del servicio (predeterminado: 10.43.0.0/16).
Valores de ejemplo:
-
Solo IPv4:
10.43.0.0/16 -
Solo IPv6:
2001:cafe:43::/112 -
Pila dual:
10.43.0.0/16,2001:cafe:43::/112
Para requisitos y limitaciones adicionales relacionados con la red de pila dual o solo IPv6, consulta los siguientes recursos:
|
DNS del clúster
IP de clúster IPv4 para el servicio coredns. Debería estar en el rango de tu service-cidr (predeterminado: 10.43.0.10).
Rango de puertos del servicio NodePort
Opción para cambiar el rango de puertos que se pueden utilizar para servicios NodePort. El valor por defecto es 30000-32767.
Truncar nombres de host
Opción para truncar nombres de host a 15 caracteres o menos. Solo puedes establecer este campo durante la creación inicial del clúster. No puedes habilitar o deshabilitar el límite de 15 caracteres después de la creación del clúster.
Esta configuración solo afecta a los clústeres provisionados por máquina. Dado que los clústeres personalizados establecen nombres de host durante su propio proceso de creación de nodos, que ocurre fuera de Rancher, este campo no restringe la longitud del nombre de host del clúster personalizado.
Truncar nombres de host en un clúster mejora la compatibilidad con sistemas basados en Windows. Aunque Kubernetes permite nombres de host de hasta 63 caracteres de longitud, los sistemas que utilizan NetBIOS restringen los nombres de host a 15 caracteres o menos.
Nombres Alternativos de TLS
Añadir nombres de host o direcciones IPv4/IPv6 como Nombres Alternativos de Sujeto en el certificado TLS del servidor.
Preferencia de Pila
Elige la pila de red para el clúster. Esta opción afecta a:
-
La dirección utilizada para las sondas de salud y disponibilidad de componentes como Calico, etcd, kube-apiserver, kube-scheduler, kube-controller-manager y kubelet.
-
La URL del servidor en el
authentication-token-webhook-config-filepara el Punto de Acceso Autorizado del Clúster. -
La configuración de
advertise-client-urlspara etcd durante la restauración de instantáneas.
Las opciones son ipv4, ipv6, dual:
-
Cuando se establece en
ipv4, el clúster utiliza127.0.0.1 -
Cuando se establece en
ipv6, el clúster utiliza[::1] -
Cuando se establece en
dual, el clúster utilizalocalhost
La preferencia de pila debe coincidir con la configuración de red del clúster:
-
Establecer en
ipv4para clústeres solo IPv4 -
Establecer en
ipv6para clústeres solo IPv6 -
Establecer en
dualpara clústeres de doble pila
|
Asegurarse de que la configuración de la dirección de retrobucle sea correcta es fundamental para la provisión exitosa del clúster. Para más información, consulta la página Requisitos del Nodo. |
Punto de Acceso Autorizado del Clúster
El Punto de Acceso Autorizado del Clúster se puede utilizar para acceder directamente al servidor API de Kubernetes, sin requerir comunicación a través de Rancher.
Esto está habilitado por defecto en los clústeres de Kubernetes lanzados por Rancher, utilizando la IP del nodo con el rol controlplane y los certificados autofirmados predeterminados de Kubernetes.
Para más detalles sobre cómo funciona un punto de acceso autorizado del clúster y por qué se utiliza, consulta la sección de arquitectura.
Recomendamos utilizar un equilibrador de carga con el punto de acceso autorizado del clúster. Para más detalles, consulta la sección de arquitectura recomendada.
Registros
Selecciona el repositorio de imágenes del que se extraerán las imágenes de Rancher. Para más detalles y opciones de configuración, consulta la documentación de RKE2.
Estrategia de Actualización
Concurrencia del Plano de Control
Selecciona cuántos nodos pueden actualizar versión al mismo tiempo. Puede ser un número fijo o un porcentaje.
Avanzadas
Opción para establecer opciones de kubelet para diferentes nodos. Para las opciones disponibles, consulta la Kubernetes documentación.
Referencia del Archivo de Configuración del Clúster
Editar clústeres en YAML te permite establecer las opciones disponibles en una instalación de RKE2, incluyendo las ya listadas en Opciones de Configuración en la UI de Rancher, así como establecer parámetros específicos de Rancher.yaml apiVersion: provisioning.cattle.io/v1 kind: Especificaciones del clúster: cloudCredentialSecretName: cattle-global-data:cc-s879v kubernetesVersion: v1.25.12+rke2r1 localClusterAuthEndpoint: {} rkeConfig: additionalManifest: "" chartValues: rke2-calico: {} etcd: snapshotRetention: 5 snapshotScheduleCron: 0 */5 * * * machineGlobalConfig: cni: calico disable-kube-proxy: false etcd-expose-metrics: false profile: null kube-apiserver-arg: - audit-policy-file=/etc/rancher/rke2/user-audit-policy.yaml - audit-log-path=/etc/rancher/rke2/user-audit.logs machinePools: - controlPlaneRole: true etcdRole: true machineConfigRef: kind: Amazonec2Config name: nc-test-pool1-pwl5h name: pool1 quantity: 1 unhealthyNodeTimeout: 0s workerRole: true machineSelectorConfig: - config: protect-kernel-defaults: false machineSelectorFiles: - fileSources: - configMap: name: '' secret: name: audit-policy items: - key: audit-policy path: /etc/rancher/rke2/user-audit-policy.yaml machineLabelSelector: matchLabels: rke.cattle.io/control-plane-role: 'true' registries: {} upgradeStrategy: controlPlaneConcurrency: "1" controlPlaneDrainOptions: deleteEmptyDirData: true enabled: true gracePeriod: -1 ignoreDaemonSets: true timeout: 120 workerConcurrency: "1" workerDrainOptions: deleteEmptyDirData: true enabled: true gracePeriod: -1 ignoreDaemonSets: true timeout: 120
additionalManifest
Especificar manifiestos adicionales para entregar a los nodos del plano de control.
El valor es una cadena, y se colocará en la vía /var/lib/rancher/rke2/server/manifests/rancher/addons.yaml en los nodos de destino.
Ejemplo:
additionalManifest: |-
apiVersion: v1
kind: Namespace
metadata:
name: name-xxxx
|
Si deseas personalizar los gráficos del sistema, deberías usar el campo Alternativas, como usar un HelmChartConfig para personalizar los gráficos del sistema a través de |
chartValues
Especificar los valores para los gráficos del sistema instalados por RKE2.
Para más información sobre cómo RKE2 gestiona componentes empaquetados, por favor consulta documentación de RKE2.
Ejemplo:
chartValues:
chart-name:
key: value
machineGlobalConfig
Especificar configuraciones de RKE2. Cualquier cambio de configuración realizado aquí se aplicará a cada nodo. Las opciones de configuración disponibles en la versión independiente de RKE2 se pueden aplicar aquí.
Ejemplo:
machineGlobalConfig:
etcd-arg:
- key1=value1
- key2=value2
Hay algunas opciones de configuración que no se pueden cambiar al aprovisionar a través de Rancher:
-
data-dir (carpeta para mantener el estado), que por defecto es
/var/lib/rancher/rke2.
Para facilitar la colocación de archivos en los nodos de antemano, Rancher espera que se incluyan los siguientes valores en la configuración, mientras que RKE2 espera que los valores se introduzcan como rutas de archivo:
-
audit-policy-file
-
cloud-provider-config
-
registro-privado
Rancher entrega los archivos a la vía /var/lib/rancher/rke2/etc/config-files/<option> en los nodos de destino y establece las opciones adecuadas en el servidor RKE2.
Ejemplo:
apiVersion: provisioning.cattle.io/v1
kind: Cluster
spec:
rkeConfig:
machineGlobalConfig:
audit-policy-file:
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: RequestResponse
resources:
- group: ""
resources:
- pods
machineSelectorConfig
machineSelectorConfig es lo mismo que machineGlobalConfig excepto que se puede especificar un selector de etiquetas con la configuración. La configuración solo se aplicará a los nodos que coincidan con el selector de etiquetas proporcionado.
Se permiten múltiples entradas de config, cada una especificando su propio machineLabelSelector. Un usuario puede especificar matchExpressions, matchLabels, ambos o ninguno. Omitir la sección machineLabelSelector de este campo tiene el mismo efecto que poner la configuración en la sección machineGlobalConfig.
Ejemplo:
machineSelectorConfig
- config:
config-key: config-value
machineLabelSelector:
matchExpressions:
- key: example-key
operator: string # Valid operators are In, NotIn, Exists and DoesNotExist.
values:
- example-value1
- example-value2
matchLabels:
key1: value1
key2: value2
machineSelectorFiles
|
Esta función está disponible en Rancher v2.7.2 y versiones posteriores. |
Entregar archivos a los nodos, para que los archivos puedan estar en su lugar antes de iniciar los procesos del servidor o agente RKE2.
El contenido del archivo se recupera de un secreto o un configmap. Los nodos de destino se filtran por el machineLabelSelector.
Ejemplo:
machineSelectorFiles:
- fileSources:
- secret:
items:
- key: example-key
path: path-to-put-the-file-on-nodes
permissions: 644 (optional)
hash: base64-encoded-hash-of-the-content (optional)
name: example-secret-name
machineLabelSelector:
matchExpressions:
- key: example-key
operator: string # Valid operators are In, NotIn, Exists and DoesNotExist.
values:
- example-value1
- example-value2
matchLabels:
key1: value1
key2: value2
- fileSources:
- configMap:
items:
- key: example-key
path: path-to-put-the-file-on-nodes
permissions: 644 (optional)
hash: base64-encoded-hash-of-the-content (optional)
name: example-configmap-name
machineLabelSelector:
matchExpressions:
- key: example-key
operator: string # Valid operators are In, NotIn, Exists and DoesNotExist.
values:
- example-value1
- example-value2
matchLabels:
key1: value1
key2: value2
El secreto o configmap debe cumplir con los siguientes requisitos:
-
Debe estar en el espacio de nombres
fleet-defaultdonde existe el objeto Cluster. -
Debe tener la anotación
rke.cattle.io/object-authorized-for-clusters: cluster-name1,cluster-name2, que permite a los clústeres de destino usarlo.
|
Rancher Dashboard proporciona un formulario fácil de usar para crear el secreto o configmap. |
Ejemplo:
apiVersion: v1
data:
audit-policy: >-
IyBMb2cgYWxsIHJlcXVlc3RzIGF0IHRoZSBNZXRhZGF0YSBsZXZlbC4KYXBpVmVyc2lvbjogYXVkaXQuazhzLmlvL3YxCmtpbmQ6IFBvbGljeQpydWxlczoKLSBsZXZlbDogTWV0YWRhdGE=
kind: Secret
metadata:
annotations:
rke.cattle.io/object-authorized-for-clusters: cluster1
name: name1
namespace: fleet-default