No Google Distributed Cloud, os clusters de utilizadores executam as suas cargas de trabalho e, numa arquitetura de vários clusters, os clusters de utilizadores são criados e geridos por um cluster de administrador.
Depois de criar um cluster de administrador, chamar o comando bmctl create config
cria um ficheiro YAML que pode editar para definir o cluster de utilizadores. Para aplicar a configuração e criar o cluster de utilizadores, use o comando bmctl create cluster
. As verificações prévias aplicam-se aos clusters de utilizadores criados com o comando bmctl create cluster
.
Manter as cargas de trabalho fora do cluster de administrador protege os dados administrativos confidenciais, como as chaves SSH armazenadas no cluster de administrador, de quem não precisa de aceder a essas informações. Além disso, manter os clusters de utilizadores separados uns dos outros oferece uma boa segurança geral para as suas cargas de trabalho.
Pré-requisitos
- A versão mais recente do
bmctl
é transferida (gs://anthos-baremetal-release/bmctl/1.33.100-gke.89/linux-amd64/bmctl
) do Cloud Storage. - Cluster de administrador funcional com acesso ao servidor da API do cluster (o
controlPlaneVIP
). - Os nós do cluster de administrador têm conetividade de rede com todos os nós no cluster de utilizador de destino.
- A estação de trabalho que executa o
bmctl
tem conectividade de rede com todos os nós nos clusters de utilizadores de destino. - A estação de trabalho do administrador pode estabelecer uma ligação SSH a cada um dos nós do cluster de utilizadores.
- A conta de serviço de registo de ligação está configurada no cluster de administrador para utilização com o Connect.
Ative o SELinux
Se quiser ativar o SELinux para proteger os seus contentores, tem de se certificar de que o SELinux está ativado no modo Enforced
em todas as suas máquinas anfitriãs. A partir da versão 1.9.0 ou posterior do Google Distributed Cloud, pode ativar ou desativar o SELinux antes ou depois da criação ou das atualizações do cluster. O SELinux está ativado por predefinição no Red Hat Enterprise Linux (RHEL). Se o SELinux estiver desativado nas suas máquinas anfitriãs ou não tiver a certeza, consulte o artigo Proteger os seus contentores com o SELinux para obter instruções sobre como o ativar.
O Google Distributed Cloud suporta o SELinux apenas em sistemas RHEL.
Crie um ficheiro de configuração do cluster de utilizadores
O ficheiro de configuração para criar um cluster de utilizadores é quase exatamente igual ao usado para criar um cluster de administrador. A única diferença é que remove a secção de configuração das credenciais locais para tornar a configuração numa coleção válida de recursos do Kubernetes. A secção de configuração encontra-se na parte superior do ficheiro, na secção bmctl configuration variables
. Para ver exemplos de configurações de clusters de utilizadores, consulte
Clusters de utilizadores
nos exemplos de configuração de clusters.
Por predefinição, os clusters de utilizadores herdam as respetivas credenciais do cluster de administrador que os gere. Pode substituir seletivamente algumas ou todas estas credenciais.
Crie um ficheiro de configuração do cluster de utilizadores com o comando
bmctl create config
:bmctl create config -c USER_CLUSTER_NAME
Por exemplo, execute o seguinte comando para criar um ficheiro de configuração para um cluster de utilizadores denominado
user1
:bmctl create config -c user1
O ficheiro é escrito em
bmctl-workspace/user1/user1.yaml
. O caminho genérico para o ficheiro ébmctl-workspace/CLUSTER NAME/CLUSTER_NAME.yaml
.Edite o ficheiro de configuração com as seguintes alterações:
Remova os caminhos dos ficheiros de credenciais locais da configuração:
...
gcrKeyPath: (path to Artifact Registry service account key)sshPrivateKeyPath: (path to SSH private key, used for node access)gkeConnectAgentServiceAccountKeyPath: (path to Connect agent service account key)gkeConnectRegisterServiceAccountKeyPath: (path to Hub registration service account key)cloudOperationsServiceAccountKeyPath: (path to Cloud Operations service account key)...Altere a configuração para especificar um tipo de cluster de
user
em vez deadmin
:... spec: # Cluster type. This can be: # 1) admin: to create an admin cluster. This can later be used to create # user clusters. # 2) user: to create a user cluster. Requires an existing admin cluster. # 3) hybrid: to create a hybrid cluster that runs admin cluster # components and user workloads. # 4) standalone: to create a cluster that manages itself, runs user # workloads, but does not manage other clusters. type: user ...
Registe os seus clusters numa frota especificando o ID do projeto no campo
gkeConnect.projectID
. Este projeto é denominado projeto anfitrião da frota.... gkeConnect: projectID: my-project-123 ...
- Opcionalmente, pode adicionar
gkeConnect.location
à especificação do cluster para especificar a Google Cloud região em que o Fleet e os serviços Connect são executados. Esta subscrição regional restringe o tráfego do serviço de frota à sua região. Se incluirgkeConnect.location
na especificação do cluster, a região que especificar tem de ser igual à região configurada emclusterOperations.location
. Se as regiões não forem iguais, a criação do cluster falha.
- Opcionalmente, pode adicionar
Se a API GKE On-Prem estiver ativada no seu Google Cloud projeto, todos os clusters no projeto são inscritos na API GKE On-Prem automaticamente na região configurada em
clusterOperations.location
.Se quiser inscrever todos os clusters no projeto na API GKE On-Prem, certifique-se de que executa os passos em Antes de começar para ativar e usar a API GKE On-Prem no projeto.
Se não quiser inscrever o cluster na API GKE On-Prem, inclua esta secção e defina
gkeOnPremAPI.enabled
comofalse
. Se não quiser inscrever nenhum cluster no projeto, desativegkeonprem.googleapis.com
(o nome do serviço para a API GKE On-Prem) no projeto. Para ver instruções, consulte o artigo Desativar serviços.
Especifique o endereço IP do nó do plano de controlo.
... # Sample control plane config controlPlane: nodePoolSpec: nodes: - address: 10.200.0.20 ...
Certifique-se de que as especificações do cluster de administrador e de utilizador para os VIPs do equilibrador de carga e os conjuntos de endereços são complementares e não se sobrepõem aos clusters existentes. O exemplo seguinte mostra um par de configurações de cluster de administrador e de utilizador de exemplo, que especificam o equilíbrio de carga e os conjuntos de endereços:
... # Sample admin cluster config for load balancer and address pools loadBalancer: vips: controlPlaneVIP: 10.200.0.49 ingressVIP: 10.200.0.50 addressPools: - name: pool1 addresses: - 10.200.0.50-10.200.0.70 ... ... # Sample user cluster config for load balancer and address pools loadBalancer: vips: controlPlaneVIP: 10.200.0.71 ingressVIP: 10.200.0.72 addressPools: - name: pool1 addresses: - 10.200.0.72-10.200.0.90 ...
Os restantes ficheiros de configuração do cluster de utilizadores são iguais à configuração do cluster de administrador.
Especifique a densidade de pods dos nós do cluster:
... # NodeConfig specifies the configuration that applies to all nodes in the cluster. nodeConfig: # podDensity specifies the pod density configuration. podDensity: # maxPodsPerNode specifies at most how many pods can be run on a single node. maxPodsPerNode: 110 ...
Para clusters de utilizadores, os valores permitidos para
maxPodsPerNode
são32-250
. O valor predefinido, se não for especificado, é110
. Não é possível atualizar este valor depois de criar o cluster.A densidade de pods também é limitada pelos recursos de IP disponíveis do cluster. Para ver detalhes, consulte Redes de agrupamentos.
Crie o cluster de utilizadores
Emita o comando bmctl
para aplicar a configuração do cluster de utilizadores e criar o cluster:
bmctl create cluster -c USER_CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
Substitua o seguinte:
USER_CLUSTER_NAME
: o nome do cluster criado na secção anterior.ADMIN_KUBECONFIG
: o caminho para o ficheiro kubeconfig do cluster de administrador.
Por exemplo, para um cluster de utilizadores denominado user1
e um ficheiro kubeconfig de um cluster de administrador com o caminho kubeconfig bmctl-workspace/admin/admin-kubeconfig
, o comando seria:
bmctl create cluster -c user1 --kubeconfig bmctl-workspace/admin/admin-kubeconfig
Exemplos de configurações de clusters de utilizadores
Para ver exemplos de configurações de clusters de utilizadores, consulte a secção Clusters de utilizadores nos Exemplos de configuração de clusters.