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

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

Observação

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

O proxy do servidor Databricks Git foi projetado especificamente para funcionar com a versão do Databricks Runtime incluída no Notebook de configuração. Os usuários são desencorajados a atualizar a versão Databricks Runtime do clustering 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 Git podem ser sincronizadas somente com provedores Git públicos (como GitHub, GitLab, Azure, DevOps e outros). No entanto, se o senhor hospedar seu próprio servidor local Git (como GitHub Enterprise Server, Bitbucket Server ou GitLab self-gerenciar), deverá usar o proxy de servidor Git com as 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 servidor proxy para Databricks Git pastas proxies Git comando do plano de controle Databricks para um clustering de proxy em execução no plano Databricks workspace 's compute. Nesse contexto, o clustering de proxy é um clustering configurado para executar um serviço de proxy para Git comando de Databricks Git pastas para seu repositório Git auto-hospedado. Esse serviço proxy recebe o comando Git do plano de controle Databricks e o encaminha para a instância do 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 o proxy do servidor Git para as pastas Git da Databricks, criar o proxy e validar a configuração.

Antes de começar

Antes de ativar o proxy, certifique-se de que:

  • 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. Para começar, associe um endereço IP de saída estático ao tráfego originado de seus clusters de proxy. Você pode fazer isso configurando um gateway NAT através da sub-rede.

    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 proxy Git que processará e encaminhará o comando Git do seu servidor Databricks workspace para o seu servidor local 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 servidor Git, tente clonar um repositório hospedado no servidor Git privado por meio do clustering de proxy. Um clone bem-sucedido significa que o senhor ativou com êxito o servidor proxy Git para o seu workspace.

Etapa 4: Criar repositórios Git habilitados para proxy

Depois que os usuários configuram suas credenciais do Git, não são necessárias outras etapas para criar ou sincronizar seus repositórios. Para configurar as credenciais e acessar os repositórios de suas pastas Git programaticamente, consulte Configurar credenciais do Git & conectar um repositório remoto à 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 o clustering de proxy está sendo executado com este notebook de depuração do servidor proxyGit . (Este é um Notebook diferente do Notebook de habilitação do servidor proxy Git, e também é fornecido por Databricks.)

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

  • Execute o restante do Notebook de depuração e capture os resultados, caso ainda não o tenha feito. Se o senhor não conseguir depurar o problema ou não vir nenhuma falha relatada no notebook de depuração, o suporte do Databricks poderá analisar os resultados. O senhor pode exportar e enviar o Notebook de depuração como um arquivo DBC, se solicitado.

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 log deve começar com a linha Data-plane proxy server binding to ('', 8000)…. Se isso não acontecer, isso significa que o servidor proxy não começou corretamente. Tente reiniciar o clustering ou exclua o clustering que o senhor 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 repository 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

Qual é a maneira mais fácil de descobrir se o servidor proxy do Git está em execução?

Importe o notebook de depuração de proxyGit fornecido por Databricks. Faça o download do arquivo em seu computador local e importe-o para o site Databricks workspace.

A execução do Notebook informará se há algum erro ou problema com o serviço de proxy Git.

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 repositório Git, 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 a URL do Git ao criar um novo repositório ou fazer check-out de um repositório existente que ainda não tenha sido verificado.

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 de proxy da Databricks acessa o repositório Git no servidor Git usando a credencial fornecida pelo usuário e sincroniza todos os arquivos de código no repositório com a pasta Git. O acesso é restrito pelas permissões especificadas nos tokens de acesso pessoal (PAT) fornecidos pelo usuário.