|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
ClusterctlConfig
O recurso ClusterctlConfig permite gerenciar substituições para as configurações do clusterctl (Operador CAPI) de forma declarativa. É usado para configurar provedores do clusterctl e suas URLs, bem como restrições de versão.
ClusterctlConfig segue um modelo GitOps - os campos da especificação são entradas de usuário declarativas. O Turtles não cria ou atualiza o recurso, cabe ao usuário especificar as substituições de URL do provedor e manter seu estado. Ele tem precedência sobre os padrões embutidos ou clusterctl o conjunto padrão de definições de provedores.
Uso
Para usar o recurso ClusterctlConfig:
-
Crie um recurso
ClusterctlConfigcom o nomeclusterctl-configno namespaceturtles. -
O controlador
ClusterctlConfiglidará com as atualizações para oConfigMapmontado no ponto de montagemcluster-api-operatorcom a configuração de clusterctl necessária com base na especificaçãoClusterctlConfig. -
Gerencie o objeto
ClusterctlConfigde forma declarativa para aplicar alterações às configurações de provedores geradas. Pode levar algum tempo para que as alterações tenham efeito, já quekubeletcuida de atualizar o ponto de montagem com base no estado deConfigMap.
Aqui está um exemplo de manifesto ClusterctlConfig:
apiVersion: turtles-capi.cattle.io/v1alpha1
kind: ClusterctlConfig
metadata:
name: clusterctl-config
namespace: cattle-turtles-system
spec:
providers:
- name: metal3
url: https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.10.1/infrastructure-components.yaml
type: InfrastructureProvider
images:
- name: metal3
repository: "my.registry.mirror"
tag: customTag
Este exemplo gerará uma configuração de clusterctl para o provedor metal3 com a URL e tipo especificados.
Especificação
Os campos-chave na especificação ClusterctlConfig são:
-
providers[].name- Nome do provedor (por exemplo, Metal3) -
providers[].url- URL da configuração do provedor (por exemplo, https://github.com/metal3-io/cluster-api-provider-metal3/releases/v1.10.1/infrastructure-components.yaml). Isso pode usar a versãolatest, se suportada, ou fixar a versão máxima emv1.10.1, por exemplo. -
providers[].type- Tipo do provedor (por exemplo, InfrastructureProvider) -
images[].name- O nome da imagem a ser substituída (por exemplo, infrastructure-metal3, cluster-api, bootstrap-rke2, control-plane-rke2) -
images[].repository- Define a substituição do registro de contêiner para puxar imagens de -
images[].tag- Permite especificar uma tag para as imagens
Substituir uma versão de Provedor Certificado
SUSE® Rancher Prime Cluster API incorpora uma configuração validada onde todas as versões de provedores certificados estão fixadas.
Normalmente, as versões são atualizadas com qualquer lançamento de SUSE® Rancher Prime Cluster API.
|
Para substituir uma versão de provedor ou usar um registro diferente para puxar imagens, um ClusterctlConfig pode ser definido.
Para mais informações sobre a substituição de imagens, consulte a documentação upstream.
apiVersion: turtles-capi.cattle.io/v1alpha1
kind: ClusterctlConfig
metadata:
name: clusterctl-config
namespace: cattle-turtles-system
spec:
providers:
- name: rke2
url: "https://github.com/rancher/cluster-api-provider-rke2/releases/v0.20.1/control-plane-components.yaml"
type: ControlPlaneProvider
- name: rke2
url: "https://github.com/rancher/cluster-api-provider-rke2/releases/v0.20.1/bootstrap-components.yaml"
type: BootstrapProvider
images:
- name: control-plane-rke2
repository: "ghcr.io/rancher"
- name: bootstrap-rke2
repository: "ghcr.io/rancher"