Delen via


Werkknooppunten scheiden in verschillende subnetten met Azure Red Hat OpenShift

In dit artikel leest u hoe u werkknooppunten kunt scheiden in verschillende privésubnetten als onderdeel van een ARO-implementatie. Door werkknooppunten te scheiden in verschillende privésubnetten, kunt u voldoen aan specifieke vereisten voor toegangsbeheer voor verschillende services en toepassingen die zijn geïmplementeerd op ARO.

U kunt bijvoorbeeld specifieke ingangscontrollers uitvoeren op toegewezen werkknooppunten binnen een specifiek subnet, terwijl de rest van de Kubernetes-knooppunten voor workloads (infra en andere werkrollen) zich binnen een ander subnet bevinden, zoals hieronder wordt weergegeven:

Screenshot of an example subnet configuration.

Notitie

Als onderdeel van ARO kunnen hoofd- en werkknooppunten niet worden geïmplementeerd in hetzelfde privésubnet.

Als u werkknooppunten wilt scheiden in verschillende subnetten, moeten twee hoofdstappen worden uitgevoerd:

  1. Een ARO-cluster implementeren.

  2. Maak de juiste subnetten en machinesets die aan deze subnetten zijn gekoppeld.

Een ARO-cluster implementeren

Zie Een Azure Red Hat OpenShift 4-cluster maken voor instructies voor het uitvoeren van deze stap.

De subnetten en gekoppelde machinesets maken

Nadat u uw ARO-cluster hebt geïmplementeerd, moet u extra subnetten maken als onderdeel van hetzelfde algemene virtuele netwerk en nieuwe machinesets maken voor deze subnetten.

Stap 1: De subnetten maken

Maak de subnetten als onderdeel van het huidige virtuele netwerk waarin ARO is geïmplementeerd. Zorg ervoor dat alle subnetten zijn bijgewerkt naar de Microsoft.ContainerRegistry service-eindpunten.

Screenshot of the Subnets window with service endpoints highlighted.

Stap 2: Aanmelden bij de jumphost

Notitie

Deze stap is optioneel als u een alternatieve methode hebt om u aan te melden bij het ARO-cluster.

Gebruik de volgende opdracht om u aan te melden bij de jumphost:

oc login $apiServer -u kubeadmin -p <kubeadmin password>

Controleer het aantal knooppunten en machinesets met behulp van de oc get nodes en oc get machineSets -n openshift-machine-api opdrachten, zoals wordt weergegeven in de volgende voorbeelden:

$ 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

Stap 3: De machinesets ophalen in de openshift-machine-api project/namespace

Door de machinesets op te halen, kunt u alle relevante parameters ophalen in de machineSet-sjabloon die in de volgende stap wordt gebruikt.

oc describe machineSet simon-aro-st5rm-worker-useast1 > aro-worker-az1.yaml

Stap 4: Maak een nieuw YAML-bestand voor machineSet en pas dit toe op het cluster

Gebruik de onderstaande sjabloon voor het YAML-bestand van uw machineSet. Wijzig de parameters die met Xs worden weergegeven op basis van de waarden die zijn opgehaald in de vorige sectie. Dit kan bijvoorbeeld het volgende zijn: machine.openshift.io/cluster-api-cluster: XXX-XXX-XXXmachine.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: XXX-XXX-XXX
    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: XXX-XXX-XXX
      machine.openshift.io/cluster-api-machineset: XXX-XXX-XXX-XXX-XXX
  template:
    metadata:
      creationTimestamp: null
      labels:
        machine.openshift.io/cluster-api-cluster: XXX-XXX-XXX
        machine.openshift.io/cluster-api-machine-role: worker
        machine.openshift.io/cluster-api-machine-type: worker
        machine.openshift.io/cluster-api-machineset: XXX-XXX-XXX-XXX-XXX
    spec:
      metadata:
        creationTimestamp: null
        labels:
          node-role.kubernetes.io/<role>: ""
      providerSpec:
        value:
          apiVersion: azureproviderconfig.openshift.io/v1beta1
          credentialsSecret:
            name: azure-cloud-credentials
            namespace: openshift-machine-api
          image:
            offer: aro4
            publisher: azureopenshift
            resourceID: ""
            sku: XXX_XX
            version: XX.XX.XXX
          internalLoadBalancer: ""
          kind: AzureMachineProviderSpec
          location: useast
          metadata:
            creationTimestamp: null
          natRule: null
          networkResourceGroup: XX-XXXXXX
          osDisk:
            diskSizeGB: 128
            managedDisk:
              storageAccountType: Premium_LRS
            osType: Linux
          publicIP: false
          publicLoadBalancer: XXX-XXX-XXX
          resourceGroup: aro-fq5v3vye
          sshPrivateKey: ""
          sshPublicKey: ""
          subnet: XXX-XXX
          userDataSecret:
            name: worker-user-data
          vmSize: Standard_D4s_v3
          vnet: XXX-XXX
          zone: "X"

Stap 5: De machineset toepassen

Pas de machineset toe die u in de vorige sectie hebt gemaakt met behulp van de oc apply -f <filename.yaml> opdracht, zoals in het volgende voorbeeld:

[root@jumphost-new ARO-cluster-Private]# oc apply -f aro-new-worker-az1.yaml
machineset.machine.openshift.io/simon-aro-qpsl5-worker-useast4 created

Stap 6: De machineset en knooppunten controleren

Nadat u het YAML-bestand hebt toegepast, kunt u controleren of de computerset en knooppunten zijn gemaakt met behulp van de oc get machineSets en oc get nodes opdrachten, zoals wordt weergegeven in de volgende voorbeelden:

[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

Na enkele minuten worden de nieuwe machineset en knooppunten weergegeven:

[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