Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como separar nós de trabalho em sub-redes privadas diferentes como parte de uma implantação do ARO. A separação de nós de trabalho em diferentes sub-redes privadas permite que você atenda a requisitos específicos de controle de acesso para vários serviços e aplicativos implantados no ARO.
Por exemplo, talvez você queira executar controladores de entrada específicos em nós de trabalho dedicados em uma sub-rede específica, enquanto o restante dos nós do Kubernetes para cargas de trabalho (infra e outros trabalhadores) está dentro de uma sub-rede diferente, conforme mostrado abaixo:
Observação
Como parte do ARO, nós mestre e de trabalho não podem ser implantados na mesma sub-rede privada.
Para separar nós de trabalho em sub-redes diferentes, duas etapas principais precisam ser executadas:
Implante um cluster ARO.
Crie as sub-redes e conjuntos de computadores apropriados associados a essas sub-redes.
Implantar um cluster ARO
Consulte Criar um cluster do Red Hat OpenShift 4 no Azure para obter instruções sobre como executar esta etapa.
Criar as sub-redes e os conjuntos de computadores associados
Depois de implantar o cluster ARO, você precisará criar sub-redes extras como parte da mesma rede virtual geral e criar novos conjuntos de computadores para essas sub-redes.
Etapa 1: Criar as sub-redes
Crie as sub-redes como parte da rede virtual atual na qual o ARO é implantado. Certifique-se de que todas as sub-redes sejam atualizadas para o Microsoft.ContainerRegistry
para Pontos de Extremidade de Serviço.
Etapa 2: Entrar no jumphost
Observação
Essa etapa será opcional se você tiver um método alternativo para fazer logon no cluster do ARO.
Use o seguinte comando para fazer logon no jumphost:
oc login $apiServer -u kubeadmin -p <kubeadmin password>
Verifique o número de nós e conjuntos de computadores usando os comandos oc get nodes
e oc get machineSets -n openshift-machine-api
, conforme mostrado nos exemplos a seguir:
$ 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
Etapa 3: Recuperar os conjuntos de computadores no openshift-machine-api project/namespace
A recuperação dos conjuntos de computadores permite que você obtenha todos os parâmetros relevantes para o modelo machineSet usado na etapa a seguir.
oc describe machineSet simon-aro-st5rm-worker-useast1 > aro-worker-az1.yaml
Etapa 4: Criar um novo arquivo YAML do machineSet e aplicá-lo ao cluster
Use o modelo abaixo para o arquivo YAML do machineSet. Altere os parâmetros mostrados com Xs de acordo com os valores recuperados na seção anterior. Por exemplo, machine.openshift.io/cluster-api-cluster: XXX-XXX-XXX
pode 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>
Etapa 5: Aplicar o conjunto de computadores
Aplique o conjunto de computadores criado na seção anterior usando o comando oc apply -f <filename.yaml>
, como no exemplo a seguir:
[root@jumphost-new ARO-cluster-Private]# oc apply -f aro-new-worker-az1.yaml
machineset.machine.openshift.io/simon-aro-qpsl5-worker-useast4 created
Etapa 6: Verificar o conjunto de computadores e os nós
Depois de aplicar o arquivo YAML, você pode verificar a criação do conjunto de computadores e nós usando os comandos oc get machineSets
e oc get nodes
, conforme mostrado nos exemplos a seguir:
[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
Após mais alguns minutos, o novo conjunto de computadores e nós serão exibidos:
[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