Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo separar los nodos de trabajo en diferentes subredes privadas como parte de una implementación de ARO. La separación de nodos de trabajo en diferentes subredes privadas permite cumplir requisitos de control de acceso específicos para varios servicios y aplicaciones implementados en ARO.
Por ejemplo, puede que quiera ejecutar controladores de entrada específicos en nodos de trabajo dedicados dentro de una subred específica, mientras que el resto de los nodos de Kubernetes para cargas de trabajo (infraestructura y otros trabajos) están dentro de una subred diferente, como se muestra a continuación:
Nota:
Como parte de ARO, los nodos maestros y de trabajo no se pueden implementar en la misma subred privada.
Para separar los nodos de trabajo en subredes diferentes, es necesario realizar dos pasos principales:
Implemente un clúster de ARO.
Cree las subredes y conjuntos de máquinas adecuados asociados a esas subredes.
Implementación de un clúster de ARO
Consulte Creación de un clúster de Red Hat OpenShift en Azure 4 para obtener instrucciones sobre cómo realizar este paso.
Crear las subredes y los conjuntos de máquinas asociados
Una vez implementado el clúster de ARO, deberá crear subredes adicionales como parte de la misma red virtual general y crear nuevos conjuntos de máquinas para esas subredes.
Paso 1: Crear las subredes
Cree las subredes como parte de la red virtual actual en la que se implementa ARO. Asegúrese de que todas las subredes están actualizadas a Microsoft.ContainerRegistry
para Puntos de conexión de servicio.
Paso 2: Iniciar sesión en jumphost
Nota:
Este paso es opcional si tiene un método alternativo para iniciar sesión en el clúster de ARO.
Use el siguiente comando para iniciar sesión en jumphost:
oc login $apiServer -u kubeadmin -p <kubeadmin password>
Verifique el número de nodos y conjuntos de máquinas usando los comandos oc get nodes
y oc get machineSets -n openshift-machine-api
, como se muestra en los siguientes ejemplos:
$ oc get nodes
NAME STATUS ROLES AGE VERSION
simon-aro-st5rm-master-0 Ready master 66m v1.19.0+e405995
simon-aro-st5rm-master-1 Ready master 67m v1.19.0+e405995
simon-aro-st5rm-master-2 Ready master 67m v1.19.0+e405995
simon-aro-st5rm-worker-useast1-h6kzn Ready worker 59m v1.19.0+e405995
simon-aro-st5rm-worker-useast2-48zsm Ready worker 59m v1.19.0+e405995
simon-aro-st5rm-worker-useast3-rvzpn Ready worker 59m v1.19.0+e405995
# oc get machineSets --all-namespaces
NAMESPACE NAME DESIRED CURRENT READY AVAILABLE AGE
openshift-machine-api simon-aro-st5rm-worker-useast1 1 1 1 1 69m
openshift-machine-api simon-aro-st5rm-worker-useast2 1 1 1 1 69m
openshift-machine-api simon-aro-st5rm-worker-useast3 1 1 1 1 69m
Paso 3: Recuperar los conjuntos de máquinas en openshift-machine-api project/namespace
La recuperación de los conjuntos de máquinas permite obtener todos los parámetros pertinentes en la plantilla machineSet que se usa en el paso siguiente.
oc describe machineSet simon-aro-st5rm-worker-useast1 > aro-worker-az1.yaml
Paso 4: Crear un nuevo archivo YAML machineSet y aplicarlo al clúster
Use la plantilla siguiente para el archivo YAML machineSet. Cambie los parámetros mostrados con X según los valores recuperados en la sección anterior. Por ejemplo, machine.openshift.io/cluster-api-cluster: XXX-XXX-XXX
podría ser machine.openshift.io/cluster-api-cluster: machine-aro-st3mr
==============MachineSet Template====================
apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
labels:
machine.openshift.io/cluster-api-cluster: <INFRASTRUCTURE_ID>
machine.openshift.io/cluster-api-machine-role: worker
machine.openshift.io/cluster-api-machine-type: worker
name: XXX-XXX-XXX-XXX-XXX
namespace: openshift-machine-api
spec:
replicas: 1
selector:
matchLabels:
machine.openshift.io/cluster-api-cluster: <INFRASTRUCTURE_ID>
machine.openshift.io/cluster-api-machineset: <INFRASTRUCTURE_ID>-infra-<REGION><ZONE>
template:
metadata:
creationTimestamp: null
labels:
machine.openshift.io/cluster-api-cluster: <INFRASTRUCTURE_ID>
machine.openshift.io/cluster-api-machine-role: worker
machine.openshift.io/cluster-api-machine-type: worker
machine.openshift.io/cluster-api-machineset: <INFRASTRUCTURE_ID>-infra-<REGION><ZONE>
spec:
metadata:
creationTimestamp: null
labels:
node-role.kubernetes.io/<role>: "" #Example: worker,infra
providerSpec:
value:
apiVersion: azureproviderconfig.openshift.io/v1beta1
credentialsSecret:
name: azure-cloud-credentials
namespace: openshift-machine-api
image:
offer: aro4
publisher: azureopenshift
resourceID: ""
sku: <SKU>
version: <VERSION>
kind: AzureMachineProviderSpec
location: <REGION>
metadata:
creationTimestamp: null
natRule: null
networkResourceGroup: <NETWORK_RESOURCE_GROUP>
osDisk:
diskSizeGB: 128
managedDisk:
storageAccountType: Premium_LRS
osType: Linux
publicIP: false
publicLoadBalancer: <LOADBALANCER_NAME>
resourceGroup: <CLUSTER_RESOURCE_GROUP>
subnet: <SUBNET_NAME>
userDataSecret:
name: worker-user-data
vmSize: Standard_D4s_v3
vnet: <VNET_NAME>
zone: <ZONE>
Paso 5: Aplicar el conjunto de máquinas
Aplique el conjunto de máquinas creado en la sección anterior mediante el comando oc apply -f <filename.yaml>
, como en el ejemplo siguiente:
[root@jumphost-new ARO-cluster-Private]# oc apply -f aro-new-worker-az1.yaml
machineset.machine.openshift.io/simon-aro-qpsl5-worker-useast4 created
Paso 6: Comprobación del conjunto de máquinas y nodos
Una vez que haya aplicado el archivo YAML, puede comprobar la creación del conjunto de máquinas y nodos mediante los comandos oc get machineSets
y oc get nodes
, como se muestra en los ejemplos siguientes:
[root@jumphost-new ARO-cluster-Private]# oc get machineSet
NAME DESIRED CURRENT READY AVAILABLE AGE
simon-aro-st5rm-worker-useast1 1 1 1 1 142m
simon-aro-st5rm-worker-useast2 1 1 1 1 142m
simon-aro-st5rm-worker-useast3 1 1 1 1 142m
simon-aro-st5rm-worker-useast4 1 1 46s
Después de unos minutos más, aparecerá el nuevo conjunto de máquinas y nodos:
[root@jumphost-new ARO-cluster-Private]# oc get machineSet
NAME DESIRED CURRENT READY AVAILABLE AGE
simon-aro-st5rm-worker-useast1 1 1 1 1 148m
simon-aro-st5rm-worker-useast2 1 1 1 1 148m
simon-aro-st5rm-worker-useast3 1 1 1 1 148m
simon-aro-st5rm-worker-useast4 1 1 1 1 6m11s
[root@jumphost-new ARO-cluster-Private]# oc get nodes
NAME STATUS ROLES AGE VERSION
simon-aro-st5rm-master-0 Ready master 147m v1.19.0+e405995
simon-aro-st5rm-master-1 Ready master 147m v1.19.0+e405995
simon-aro-st5rm-master-2 Ready master 147m v1.19.0+e405995
simon-aro-st5rm-worker-useast1-h6kzn Ready worker 139m v1.19.0+e405995
simon-aro-st5rm-worker-useast2-48zsm Ready worker 139m v1.19.0+e405995
simon-aro-st5rm-worker-useast3-rvzpn Ready worker 139m v1.19.0+e405995
simon-aro-st5rm-worker-useast4-qrsgx Ready worker 104s v1.19.0+e405995