Configurar a conectividade Git privada para as pastas Git da Databricks (Repos)

Conheça e configure o proxy do servidor Git para as pastas Git, que permite que o senhor faça o proxy do comando Git das pastas Databricks Git para os repositórios on-premises atendidos pelo GitHub Enterprise Server, Bitbucket Server e GitLab auto-gerenciar.

Observação

Os usuários com um proxy de servidor Git da Databricks configurado durante a visualização devem atualizar as permissões de clusters para obter o melhor desempenho. Consulte Remover permissões globais CAN_ATTACH_TO.

O servidor proxy Databricks Git foi projetado especificamente para funcionar com a versão do DBR incluída no Notebook de configuração. Os usuários são desencorajados a atualizar a versão DBR do cluster de proxy.

O que é o proxy do servidor Git para as pastas Git da Databricks?

O proxy do servidor Git do Databricks para pastas Git é um recurso que permite que o senhor faça proxy do comando Git do seu Databricks workspace para um servidor Git on-premises.

O Databricks Git folders (anteriormente Repos) representa seus repositórios Git conectados como pastas. O conteúdo dessas pastas tem controle de versão por meio da sincronização com o repositório Git conectado. Em default, as pastas do Git podem ser sincronizadas somente com provedores públicos do Git (como GitHub público, GitLab, Azure DevOps e outros). No entanto, se o senhor hospedar seu próprio servidor on-premises Git (como o GitHub Enterprise Server, Bitbucket Server ou GitLab self-gerenciar), deverá usar o proxy do servidor Git com pastas Git para fornecer acesso à Databricks ao seu servidor Git. Seu servidor Git deve ser acessível a partir do plano de dados do Databricks (nó do driver).

Se a sua rede corporativa for apenas de acesso privado (VPN) (sem acesso público), o senhor deverá executar um servidor proxy Git para acessar os repositórios Git localizados fora dela e para adicionar pastas Git ao seu espaço de trabalho.

Como funciona o Git Server Proxy para as pastas Git da Databricks?

Git Server Proxy for Databricks As pastas Git fazem proxy do Git comando do plano de controle do Databricks para um "cluster de proxy" em execução workspaceno compute plano do seu Databricks . Nesse contexto, o cluster de proxy é um cluster configurado para executar um serviço de proxy para o Git comando das pastas Git da Databricks para o seu Git auto-hospedado repo. Esse serviço de proxy recebe comandos Git do plano de controle do Databricks e os encaminha para a instância do seu servidor Git.

O diagrama abaixo ilustra a arquitetura geral do sistema:

Diagrama que mostra como o Git Server Proxy para pastas Git da Databricks é configurado para execução a partir do plano compute de um cliente

Atualmente, um proxy de servidor Git não exige mais a permissão CAN_ATTACH_TO para todos os usuários. Os administradores com clusters de proxy existentes agora podem modificar a permissão ACL dos clusters para ativar esse recurso. Para habilitá-lo:

  1. Selecione compute na barra lateral e, em seguida, clique no menu Menu Kebab kebab ao lado da entrada compute para o Git Server Proxy que você está executando:

    Selecione compute na barra lateral, selecione o kebab à direita do recurso compute do seu servidor proxy Git
  2. Na caixa de diálogo, remova a entrada Can Attach To (Pode anexar a ) de All Users (Todos os usuários):

    Na caixa de diálogo modal que é exibida, clique no X à direita de All Users, Can Attach To

Como faço para configurar o Git Server Proxy para as pastas Git da Databricks?

Esta seção descreve como preparar a instância do servidor Git para as pastas Git do Git Server Proxy for Databricks, criar o proxy e validar a configuração.

Antes de começar

Antes de habilitar o proxy, considere os seguintes pré-requisitos e tarefas de planejamento:

  • Seu site workspace tem o recurso de pastas Git do Databricks ativado.

  • A sua instância do servidor Git é acessível a partir workspacedo compute VPC do plano do seu do Databricks e tem HTTPS e access token PATs ( pessoal) ativados.

Observação

O proxy do servidor Git para Databricks funciona em todas as regiões suportadas pela sua VPC.

o passo 1: Prepare sua instância do servidor Git

Importante

O senhor deve ser um administrador no site workspace com direitos de acesso para criar um recurso compute e concluir esta tarefa.

Para configurar sua instância do servidor Git:

  1. Conceda ao nó do driver dos clustersproxy acesso ao seu servidor Git.

    Seu servidor Git corporativo pode ter allowlist endereços IP dos quais o acesso é permitido.

    1. Associe um endereço IP de saída estático para o tráfego originado de seus clusters de proxy. Você pode fazer isso proxy do tráfego por meio de um gateway NAT.

    2. Adicione o endereço IP do passo anterior à lista de permissões do seu servidor Git.

  1. Configure sua instância do servidor Git para permitir o transporte HTTPS.

    • Para GitHub Enterprise, consulte Qual URL remoto devo usar na ajuda do GitHub Enterprise.

    • Para o Bitbucket, vá para a página de administração do servidor Bitbucket e selecione as configurações do servidor. Na seção de hospedagem HTTP(S) SCM, ative a caixa de seleção HTTP(S) ativado .

o passo 2: execução do Notebookde habilitação

Para ativar o proxy:

  1. logs no seu espaço de trabalho do Databricks como administrador do espaço de trabalho com direitos de acesso para criar clusters.

  2. Importe este Notebook, que escolhe o menor tipo de instância disponível em seu provedor cloud para executar o proxy Git..:

    Notebook: Ativar o proxy do servidor Git para pastas Git do Databricks para conectividade privada do servidor Git em pastas Git.

  3. Clique em "Executar tudo" para executar o Notebook, que realiza a seguinte tarefa:

    • Cria um recurso de computação de nó único chamado "Databricks Git Proxy", que não termina automaticamente. Este é o "serviço de proxyGit " que processará e encaminhará o comando Git do seu servidor Databricks workspace para o seu servidor on-premises Git .

    • Habilita um sinalizador de recurso que controla se as solicitações de Git em Databricks Git pastas são proxies por meio da instância compute.

    Como prática recomendada, considere criar um Job simples para executar o recurso Git proxy compute. Pode ser um simples Notebook que imprime ou logs status, como "O serviço de proxy Git está em execução". Defina o Job para execução em intervalos de tempo regulares para garantir que o serviço de proxy Git esteja sempre disponível para seus usuários.

Observação

A execução de um recurso adicional de longa duração em compute para hospedar o proxy software incorre em DBUs extras. Para minimizar os custos, o site Notebook configura o proxy para usar um recurso compute de nó único com um tipo de nó econômico. No entanto, talvez o senhor queira modificar as opções do site compute para atender às suas necessidades. Para obter mais informações sobre os preços da instância compute, consulte a calculadoraDatabricks preços.

o passo 3: Valide a configuração do seu servidor Git

Para validar a configuração do seu servidor Git, tente clonar um repo hospedado no seu servidor Git privado por meio dos clusters de proxy. Um clone bem-sucedido significa que o senhor ativou com êxito o proxy do servidor Git para o seu workspace.

o passo 4: Criar repohabilitado para proxy

Depois que os usuários configuram suas credenciais do Git, não são necessários outros passos do sistema operacional para criar ou sincronizar seus repositórios. Para configurar as credenciais e criar um repo nas pastas Git do Databricks, consulte Configurar credenciais do Git e conectar um repo remoto ao Databricks.

Remover as permissões globais CAN_ATTACH_TO

Os administradores com clusters de proxy existentes agora podem modificar a permissão ACL dos clusters para aproveitar o comportamento de proxy do servidor Git geralmente disponível.

Se o senhor configurou anteriormente o proxy do servidor Git da Databricks com privilégios CAN_ATTACH_TO, use os seguintes passos para remover essas permissões:

  1. Selecione compute na barra lateral e, em seguida, clique no menu Menu Kebab kebab ao lado da entrada compute para o proxy do servidor Git que o senhor está executando:

    Selecione compute na barra lateral, selecione o kebab à direita do recurso compute do seu servidor proxy Git
  2. Na caixa de diálogo, remova a entrada Can Attach To (Pode anexar a ) de All Users (Todos os usuários):

    Na caixa de diálogo modal que é exibida, clique no X à direita de All Users, Can Attach To

Solução de problemas

O senhor encontrou um erro ao configurar o proxy do servidor Git para as pastas Git da Databricks? Aqui estão alguns problemas comuns e maneiras de diagnosticá-los com mais eficiência.

Lista de verificação para problemas comuns

Antes de começar a diagnosticar um erro, confirme se você concluiu as seguintes etapas:

  • Confirme se seus clusters de proxy estão em execução.

  • Confirme que o senhor é um administrador do site workspace.

  • Execute o Notebook de ativação novamente e capture os resultados, caso ainda não o tenha feito. Se não conseguir depurar o problema, o suporte da Databricks poderá rever os resultados. É possível exportar e enviar o Notebook de ativação como um arquivo DBC.

Alterar a configuração do proxy do Git

Se o seu serviço de proxy Git não estiver funcionando com a configuração default, o senhor pode definir uma variável de ambiente específica para fazer alterações e oferecer melhor suporte à sua infraestrutura de rede.

Use a seguinte variável de ambiente para atualizar a configuração de seu serviço de proxy Git:

Variável de ambiente

Formato

Descrição

GIT_PROXY_ENABLE_SSL_VERIFICATION

true/false

Defina esse valor como false se estiver usando um certificado autoassinado para o seu servidor Git privado.

GIT_PROXY_CA_CERT_PATH

Caminho do arquivo (strings)

Defina isso como o caminho para um arquivo de certificado CA usado para verificação de SSL. Exemplo: /FileStore/myCA.pem

GIT_PROXY_HTTP_PROXY

https://<hostname>:<port #>

Defina isso como a URL HTTPS do proxy de firewall da sua rede para tráfego HTTP.

GIT_PROXY_CUSTOM_HTTP_PORT

Número da porta (inteiro)

Defina isso como o número da porta atribuída à porta HTTP do seu servidor Git.

Para definir essas variáveis de ambiente, acesse o computador tab em seu Databricks workspace e selecione a configuração compute para seu serviço de proxy Git. Na parte inferior do painel Configuration, expanda Advanced options e selecione o ícone Spark tab abaixo dele. Defina uma ou mais dessas variáveis de ambiente adicionando-as à área de texto variável de ambiente.

A página de configuração Databricks compute onde o senhor define as variáveis de ambiente para um proxy Git

Inspecionar logs nos clustersde proxy

O arquivo em /databricks/git-proxy/git-proxy.log nos clusters de proxy contém logs que são úteis para fins de depuração.

O arquivo logs deve começar com a linha Data-plane proxy server binding to ('', 8000)…. Caso contrário, isso significa que o servidor proxy não foi iniciado corretamente. Tente reiniciar os clusters ou exclua os clusters que você criou e execute o Notebook de ativação novamente.

Se o arquivo log começar com essa linha, examine as instruções log que a seguem para cada solicitação Git iniciada por uma operação Git nas pastas Git da Databricks.

Por exemplo:

  do_GET: https://server-address/path/to/repo/info/refs?service=git-upload-pack 10.139.0.25 - - [09/Jun/2021 06:53:02] /
  "GET /server-address/path/to/repo/info/refs?service=git-upload-pack HTTP/1.1" 200`

logs de erros escritos neste ficheiro podem ser úteis para ajudar você ou o Suporte do Databricks a resolver problemas.

Mensagens de erro comuns e sua resolução

  • A conexão segura não pôde ser estabelecida devido a problemas de SSL

    Você poderá ver o seguinte erro:

      https://git.consult-prodigy.com/Prodigy/databricks_test: Secure connection to https://git.consult-prodigy.com/Prodigy/databricks_test could not be established because of SLL problems
    

    Geralmente, isso significa que o senhor está usando um repositório que exige certificados SSL especiais. Verifique o conteúdo do arquivo /databricks/git-proxy/git-proxy.log no cluster do proxy. Se o sistema informar que a validação do certificado falhou, o senhor deverá adicionar o certificado de autoridade à cadeia de certificados do sistema. Primeiro, extraia o certificado raiz (usando o navegador ou outra opção) e upload no DBFS. Em seguida, edite as pastas Git do cluster Git Proxy para usar a variável de ambiente GIT_PROXY_CA_CERT_PATH para apontar para o arquivo de certificado raiz. Para obter mais informações sobre como editar o cluster variável de ambiente, consulte variável de ambiente.

    Depois de concluir essa etapa, reinicie os clusters.

  • Falha ao clonar repositório com erro “Credenciais Git ausentes/inválidas”

    Primeiro, verifique se você configurou suas credenciais do Git em User Settings.

    Você pode encontrar este erro:

      Error: Invalid Git credentials. Go to User Settings -> Git Integration and check that your personal access token or app password has the correct repo access.
    

    Se sua organização estiver usando SAML SSO, certifique-se de que os tokens foram autorizados (isso pode ser feito na página de gerenciamento access tokens pessoal (PAT) do seu servidor Git).

Perguntas frequentes

Quais são as implicações de segurança do proxy do servidor Git?

As coisas mais importantes a saber são:

  • O proxy não afeta a arquitetura de segurança do seu plano de controle do Databricks.

  • O senhor só pode ter um servidor proxy Git cluster por workspace.

O recurso de proxy Git funciona com outros provedores de servidores corporativos Git?

As pastas Git da Databricks são compatíveis com GitHub Enterprise, Bitbucket Server, Azure DevOps Server e GitLab self-gerenciar. Outros provedores de servidores Git empresariais também devem funcionar se estiverem em conformidade com as especificações comuns do Git.

As pastas Git da Databricks são compatíveis com a assinatura GPG do commit?

Não.

As pastas Git da Databricks são compatíveis com o transporte SSH para operações Git?

Não. Somente HTTPS é compatível.

O uso de uma porta HTTPS não padrão no servidor Git é compatível?

Atualmente, o Notebook de ativação assume que seu servidor Git usa a porta HTTPS default 443. Você pode definir a variável de ambiente GIT_PROXY_CUSTOM_HTTP_PORT para substituir o valor da porta por um valor preferencial.

Você pode compartilhar um proxy para vários espaços de trabalho ou precisa de um clusters de proxy por espaço de trabalho?

Você precisa de um clusters proxy por workspace do Databricks.

O proxy funciona com versões legadasNotebook único?

Não, o proxy não funciona com o controle de versãoNotebook único e legado. Os usuários devem migrar para o controle de versão das pastas do Databricks Git.

Os Databricks podem ocultar URLs de servidores Git que são proxy? Os usuários poderiam inserir os URLs originais do servidor Git em vez de URLs com proxy?

Sim para ambas as perguntas. Os usuários não precisam ajustar seu comportamento para o proxy. Com a implementação atual do proxy, todo o tráfego do Git para as pastas do Git da Databricks é roteado pelo proxy. Os usuários inserem o URL normal do Git repo, como https://git.company.com/org/repo-name.git.

Com que frequência os usuários trabalharão com os URLs do Git?

Normalmente, um usuário apenas adicionaria o URL do Git ao criar um novo repo ou fazer check-out de um repo existente que ainda não tenha feito check-out.

O recurso faz proxy de dados de autenticação de forma transparente para o servidor Git?

Sim, o proxy usa os do accountservidor Git da do usuário tokens para autenticar no servidor Git.

Existe acesso do Databricks ao código do servidor Git?

O serviço proxy Databricks acessa o repositório Git no servidor Git usando a credencial fornecida pelo usuário e sincroniza quaisquer arquivos de código no repositório com o repo. O acesso é restrito pelas permissões especificadas no access token pessoal (PAT) fornecido pelo usuário.