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.

Ambiente Air-Gapped

Esta seção descreve como usar SUSE Virtualization em um ambiente air-gapped. Alguns casos de uso podem ser onde SUSE Virtualization será instalado offline, atrás de um gateway de segurança ou atrás de um proxy.

A imagem ISO contém todos os pacotes para fazê-la funcionar em um ambiente air-gapped.

Trabalhando Atrás de um Proxy HTTP

Em alguns ambientes, a conexão com serviços externos, a partir dos servidores ou VMs, requer um proxy HTTP(S).

Configure um Proxy HTTP Durante a Instalação

Você pode configurar o proxy HTTP(S) durante a instalação da ISO como mostrado na imagem abaixo:

iso-proxy

Configure um Proxy HTTP

Você pode configurar o proxy HTTP(S) usando a interface gráfica.

  1. Vá para a página de configurações da interface gráfica.

  2. Encontre a configuração http-proxy, clique em ⋮ > Editar configuração

  3. Insira o(s) valor(es) para http-proxy, https-proxy e no-proxy.

proxy-setting

SUSE Virtualization anexa endereços necessários à no-proxy configurada pelo usuário para garantir que o tráfego interno funcione, ou seja, localhost,127.0.0.1,0.0.0.0,10.0.0.0/8,longhorn-system,cattle-system,cattle-system.svc,harvester-system,.svc,.cluster.local. harvester-system foi adicionado à lista desde a versão 1.1.2.

Quando os nós no cluster não usam um proxy para se comunicar entre si, o CIDR precisa ser adicionado a http-proxy.noProxy após o primeiro nó ser instalado com sucesso. Por favor, consulte falha ao implantar um cluster de múltiplos nós.

Imagens do Cluster Convidado

Todas as imagens necessárias para instalar e executar SUSE Virtualization estão convenientemente empacotadas na ISO, eliminando a necessidade de pré-carregar imagens em nós bare metal. Um cluster SUSE Virtualization os gerencia de forma independente e eficaz nos bastidores.

No entanto, é essencial entender que um cluster Kubernetes convidado (por exemplo, um cluster SUSE® Rancher Prime: RKE2) criado pelo Harvester Node Driver é uma entidade distinta de um cluster SUSE Virtualization. Um cluster convidado opera dentro de VMs e requer a obtenção de imagens, seja da internet ou de um registro privado.

Se a opção Cloud Provider estiver configurada para SUSE Virtualization em um cluster Kubernetes convidado, ele implanta o Harvester Cloud Provider e o driver Container Storage Interface (CSI).

cluster-registry

Como resultado, recomendamos monitorar cada versão do RKE2 em seu ambiente air-gapped e baixar as imagens necessárias para seu registro privado. Por favor, consulte a Support Matrix para obter o melhor suporte de capacidade do Harvester Cloud Provider e do driver CSI.

Integre com um Rancher externo.

Rancher determina a imagem rancher-agent a ser usada sempre que um cluster SUSE Virtualization é importado. Se a imagem não estiver incluída no ISO SUSE Virtualization, ela deve ser obtida da internet e carregada em cada nó, ou enviada para o registro do cluster SUSE Virtualization.

# Run the following commands on a computer that can access both the internet and the {harvester-product-name} cluster.
docker pull rancher/rancher-agent:<version>
docker save rancher/rancher-agent:<version> -o rancher-agent-<version>.tar

# Copy the image TAR file to the air-gapped environment.
scp rancher-agent-<version>.tar rancher@<harvester-node-ip>:/tmp

# Use SSH to connect to the {harvester-product-name} node, and then load the image.
ssh rancher@<harvester-node-ip>
sudo -i
docker load -i /tmp/rancher-agent-<version>.tar

Extensão da UI do Harvester com Integração Rancher

A Extensão da UI do Harvester é necessária para acessar a UI do SUSE Virtualization nas versões Rancher v2.10.x e posteriores. No entanto, instalar a extensão pela rede não é possível em ambientes air-gapped, então você deve realizar a seguinte solução alternativa:

  1. Puxe a imagem rancher/ui-plugin-catalog com a tag mais recente.

  2. Na UI do Rancher, vá para Extensions e, em seguida, selecione ⋮ → Gerenciar Catálogos de Extensões.

    Rancher UI - Gerenciar Catálogos de Extensões
  3. Especifique as informações necessárias.

    Rancher UI - Importar Catálogo de Extensões
    • Referência da Imagem do Catálogo: Especifique a URL do registro privado e o repositório de imagens.

    • Segredos de Pull de Imagem: Especifique o segredo usado para acessar o registro quando um nome de usuário e senha são necessários. Você deve criar esse segredo no namespace cattle-ui-plugin-system. Use kubernetes.io/dockercfg ou kubernetes.io/dockerconfigjson como o valor de type.

      Exemplo:

      apiVersion: v1
      kind: Secret
      metadata:
        name: my-registry-secret-rancher
        namespace: cattle-ui-plugin-system
      type: kubernetes.io/dockerconfigjson
      data:
        .dockerconfigjson: {base64 encoded data}
  4. Clique em Carregar, e então aguarde um tempo para que a extensão seja carregada.

    Rancher UI - Catálogos de Extensões
  5. Na aba Disponível, localize a extensão chamada Harvester, e então clique em Instalar.

    Rancher UI - Extensões Disponíveis
  6. Selecione a versão que corresponde ao cluster SUSE Virtualization, e então clique em Instalar.

    Rancher UI - Selecionar Versão da Extensão da UI do Harvester
    Rancher UI - Extensão da UI do Harvester Instalada
  7. Vá para Gerenciamento de Virtualização → Clusters do Harvester.

    Agora você pode importar clusters SUSE Virtualization e acessar a UI SUSE Virtualization.

    Rancher UI - Harvester Clusters

Requisitos de tempo

Um servidor de Protocolo de Tempo de Rede (NTP) confiável é crítico para manter a hora correta do sistema em todos os nós de um cluster Kubernetes, especialmente ao executar SUSE Virtualization. O Kubernetes depende do etcd, um armazenamento distribuído de chave-valor, que requer sincronização de tempo precisa para garantir a consistência dos dados e evitar problemas com eleição de líder, replicação de logs e estabilidade do cluster.

Em um ambiente air-gapped, onde fontes externas de tempo estão indisponíveis, manter um tempo preciso e sincronizado se torna ainda mais crucial. Sem a devida sincronização de tempo, os nós do cluster podem enfrentar falhas de autenticação, problemas de agendamento ou até mesmo corrupção de dados. Para mitigar esses riscos, as organizações devem implantar um servidor NTP robusto e interno que sincronize o tempo em todos os sistemas dentro da rede.

Garantir um tempo preciso e consistente em todo o cluster é essencial para a confiabilidade, segurança e integridade geral do sistema.

Solução de problemas

Extensões da UI não aparecem

Se a tela de Extensões estiver vazia, vá para Repositórios (⋮ → Gerenciar Repositórios) e clique em Atualizar.

Rancher UI - Gerenciar Repositórios
Rancher UI - Erro de Conexão Recusada
Rancher UI - Atualizar Tela de Repositórios
Rancher UI - Repositórios

Instalação falhou

Se você encontrar um erro durante a instalação, verifique o recurso uiplugins.

Rancher UI - Erro de Instalação da Extensão Harvester UI

Exemplo:

bash-4.4# k get uiplugins -A
NAMESPACE                 NAME        PLUGIN NAME   VERSION   STATE
cattle-ui-plugin-system   harvester   harvester     1.0.3     pending
bash-4.4# k get uiplugins harvester --namespace cattle-ui-plugin-system -o yaml
apiVersion: catalog.cattle.io/v1
kind: UIPlugin
metadata:
  # skip
  name: harvester
  namespace: cattle-ui-plugin-system
spec:
  plugin:
    endpoint: http://ui-plugin-catalog-svc.cattle-ui-plugin-system:8080/plugin/harvester-1.0.3

Certifique-se de que svc.namespace é acessível a partir de Rancher. Se esse endpoint não for acessível, você pode usar diretamente um IP de cluster como 10.43.33.58:8080/plugin/harvester-1.0.3.