Abrir as portas e os endereços IP necessários nas listas de permissão

Nuvem Privada Virtual

Essas informações sobre a lista de permissão são específicas para clusters de VPC. Para obter informações sobre a lista de permissões para clusters clássicos, consulte “Abrindo as portas e endereços IP necessários na sua lista de permissões para clusters clássicos ”.

Abrindo portas em uma lista de permissões corporativa

Se as políticas da rede corporativa impedirem o acesso do seu sistema local a terminais públicos por meio de proxies ou listas de permissão, você deverá permitir o acesso para executar ibmcloud, os comandos ibmcloud ks`` e ibmcloud cr , kubectl comandos e calicoctl comandos a partir do seu sistema local.

Executação dos comandos ibmcloud, ibmcloud ks e ibmcloud cr a partir de uma lista de permissões

Se as políticas da rede corporativa impedirem o acesso do seu sistema local a terminais públicos por meio de proxies ou listas de permissão, para executar os comandos ibmcloud, ibmcloud ks e ibmcloud cr, você deverá permitir o acesso TCP para IBM Cloud, IBM Cloud Kubernetes Service e IBM Cloud Container Registry.

  1. Permita o acesso a cloud.ibm.com na porta 443 na sua lista de sites permitidos.

  2. Verifique sua conexão efetuando login no IBM Cloud por meio desse terminal de API.

    ibmcloud login -a https://cloud.ibm.com/
    
  3. Permita o acesso a containers.cloud.ibm.com na porta 443 na sua lista de sites permitidos.

  4. Verifique sua conexão. Se o acesso estiver configurado corretamente, mensagens semelhantes às seguintes serão exibidas na saída.

    curl https://containers.cloud.ibm.com/global/v1/versions
    

    Saída de exemplo

    {"kubernetes":[{"major":1,"minor":19,"patch":16,"default":false,"end_of_service":""},{"major":1,"minor":20,"patch":13,"default":false,"end_of_service":""},{"major":1,"minor":21,"patch":7,"default":true,"end_of_service":""},{"major":1,"minor":22,"patch":4,"default":false,"end_of_service":""}],"openshift":[{"major":3,"minor":11,"patch":542,"default":false,"end_of_service":"2022-06-06T12:00:00+0000"},{"major":4,"minor":6,"patch":47,"default":false,"end_of_service":""},{"major":4,"minor":7,"patch":37,"default":false,"end_of_service":""},{"major":4,"minor":8,"patch":21,"default":true,"end_of_service":""}]}
    
  5. Permita o acesso às regiões do IBM Cloud Container Registry que você pretende utilizar na porta 443 em sua lista de permissões. O registro global armazena imagens públicas fornecidas pela IBM e os registros regionais armazenam suas próprias imagens privadas ou públicas. Se sua lista de permissões for baseada em IP, você poderá verificar quais endereços IP estão habilitados ao permitir o acesso aos pontos de extremidade do serviço regional IBM Cloud Container Registry consultando esta tabela.

  6. Verifique sua conexão. Veja a seguir um exemplo para o registro regional do Leste dos EUA e do Sul dos EUA. Se o acesso estiver configurado corretamente, uma mensagem do dia será retornada na saída. Note que se não houver mensagens, um 204 será retornado.

    curl -i https://us.icr.io/api/v1/messages
    

Executando kubectl comandos de trás de um allowlist

Se as políticas da rede corporativa impedirem o acesso do seu sistema local a terminais públicos por meio de proxies ou listas de permissão, para executar comandos do kubectl , você deverá permitir o acesso TCP para o cluster.

Quando um cluster é criado, a porta nas URLs de terminais em serviço é designada aleatoriamente a partir de 30000-32767. É possível optar por abrir o intervalo de portas 30000-32767 para qualquer cluster que possa ser criado ou permitir acesso para um cluster específico existente.

Antes de começar, permita o acesso para executar os comandos ibmcloud ks.

Para permitir acesso para um cluster específico:

  1. Efetue login na CLI do IBM Cloud . Insira suas credenciais do IBM Cloud quando solicitadas. Se você tiver uma conta federada, inclua a opção --sso.

    ibmcloud login [--sso]
    
  2. Se o cluster estiver em um grupo de recursos diferente de default, destine esse grupo de recursos. Para ver o grupo de recursos ao qual cada cluster pertence, execute ibmcloud ks cluster ls. Nota: deve-se ter pelo menos a função Visualizador para o grupo de recursos.

    ibmcloud target -g RESOURCE_GROUP_NAME
    
  3. Obtenha o nome do cluster.

    ibmcloud ks cluster ls
    
  4. Recupere as URLs do terminal em serviço para seu cluster.

    • Se apenas a URL do terminal em serviço privado estiver preenchida, obtenha essa URL. Seus usuários de cluster autorizados podem acessar o mestre por meio desse terminal na rede privada.
    • Se a URL do terminal em serviço público e a URL do terminal em serviço privado estiverem preenchidas, obtenha as duas URLs. Os usuários de cluster autorizados podem acessar o mestre por meio do terminal público na rede pública ou no terminal privado na rede privada.
    ibmcloud ks cluster get --cluster CLUSTER_NAME_OR_ID
    

    Saída de exemplo

    ...
    Public Service Endpoint URL:    https://c3.<region>.containers.cloud.ibm.com:30426
    Private Service Endpoint URL:   https://c3-private.<region>.containers.cloud.ibm.com:31140
    ...
    
  5. Permita acesso às URLs e portas de terminal em serviço que você recebeu na etapa anterior. Se sua lista de permissões for baseada em IP, você poderá verificar quais endereços IP estão habilitados ao permitir o acesso às URLs dos pontos de extremidade do serviço consultando esta tabela.

  6. Verifique sua conexão.

    • Se o terminal em serviço de nuvem pública estiver ativado:
        curl --insecure <public_service_endpoint_URL>/version
        ```
        Exemplo de comando
        ```sh {: pre}
        curl --insecure https://c3.<region>.containers.cloud.ibm.com:31142/version
        ```
        Saída de exemplo
        ```json {: screen}
        {
            "major": "1",
            "minor": "7+",
            "gitVersion": "v1.7.4-2+eb9172c211dc41",
            "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534",
            "gitTreeState": "clean",
            "buildDate": "2017-11-16T08:13:08Z",
            "goVersion": "go1.8.3",
            "compiler": "gc",
            "platform": "linux/amd64"
        }
        ```
    * Se somente o terminal em serviço de nuvem privada estiver ativado, você deverá estar em sua rede privada da IBM Cloud ou se conectar à rede privada por meio de uma conexão VPN para verificar sua conexão com o principal. **Nota**: deve-se [expor o terminal do mestre por meio de um balanceador de carga privado](/docs/containers?topic=containers-access-private-classic) para que os usuários possam acessar o mestre por meio de uma VPN ou uma conexão IBM Cloud&reg; Direct Link.
    ```sh {: pre}
        curl --insecure <private_service_endpoint_URL>/version
        ```
        Exemplo de comando
        ```sh {: pre}
        curl --insecure https://c3-private.<region>.containers.cloud.ibm.com:31142/version
        ```
        Saída de exemplo
        ```json {: screen}
        {
            "major": "1",
            "minor": "7+",
            "gitVersion": "v1.7.4-2+eb9172c211dc41",
            "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534",
            "gitTreeState": "clean",
            "buildDate": "2017-11-16T08:13:08Z",
            "goVersion": "go1.8.3",
            "compiler": "gc",
            "platform": "linux/amd64"
        }
        ```
    
  7. Opcional: repita essas etapas para cada cluster que você precisa expor.

Executando calicoctl comandos de trás de um allowlist

Se as políticas da rede corporativa impedirem o acesso do seu sistema local a terminais públicos por meio de proxies ou listas de permissão, para executar os comandos calicoctl , você deverá permitir o acesso TCP para os comandos Calico.

Antes de começar, permita o acesso aos sites ibmcloud comandos e kubectl comandos.

  1. Recupere o endereço IP do servidor mestre URL que você utilizou para permitir os comandos kubectl.

  2. Obtenha a porta para etcd.

    kubectl get cm -n kube-system cluster-info -o yaml | grep etcd_host
    
  3. Permita acesso para as políticas do Calico por meio do endereço IP da URL do mestre e da porta etcd.

Permitir o tráfego proveniente do seu cluster nas listas de permissão de outros serviços ou nas listas de permissão locais

Permita que seus nós de trabalho se comuniquem com serviços protegidos por listas de permissão.

Por exemplo, você pode ter serviços que são executados dentro ou fora do IBM Cloud, ou serviços executados no local, que são protegidos por uma lista de permissões. Você deseja permitir o tráfego de rede de entrada para esses serviços do seu cluster. Na lista de permissões do seu serviço, você deve adicionar os endereços IP externos dos gateways públicos nas sub-redes VPC do seu cluster.

Se você deseja permitir o tráfego de saída dos serviços protegidos pela lista de permissão para o seu cluster, é necessário adicionar os endereços IP privados dos nós de trabalho ou os CIDRs das sub-redes da VPC do seu cluster à lista de permissão do seu serviço. Observe que, como os nós do trabalhador em clusters de VPC têm apenas endereços IP privados, as conexões nos nós do trabalhador do cluster de VPC só podem ser originadas de sistemas que estão conectados à sua rede privada do IBM Cloud.

Antes de Iniciar

  1. Efetue login na sua conta. If applicable, target the appropriate resource group. Configure o contexto para o seu cluster.
  2. Instale o plug-in da CLI do infrastructure-service. O prefixo para executar comandos de infraestrutura de VPC é ibmcloud is.
    ibmcloud plugin install infrastructure-service
    

Permitindo o ingresso de um cluster em outro serviço

Para permitir o acesso do seu cluster a outro serviço, modifique a lista de permissões desse serviço ou a sua lista de permissões local.

  1. Obtenha as Zonas do trabalhador e os VPCs nos quais o seu cluster foi criado.

    ibmcloud ks cluster get -c <cluster>
    

    Saída de exemplo

    ...
    Worker Zones:                   us-south-1, us-south-2, us-south-3
    Ingress Subdomain:              vpc-prod.us-south.containers.appdomain.cloud
    Ingress Secret:                 vpc-prod
    Creator:                        -
    Public Service Endpoint URL:    https://c2.us-south.containers.cloud.ibm.com:20267
    Private Service Endpoint URL:   https://c2.private.us-south.containers.cloud.ibm.com:20267
    Pull Secrets:                   enabled in the default namespace
    VPCs:                           ff537d43-a5a4-4b65-9627-17eddfa5237b
    ...
    
  2. Para as zonas de trabalhadores e VPC que você encontrou, certifique-se de que você ativou um gateway público nas sub-redes de VPC em cada zona do trabalhador.

  3. Liste os gateways públicos das sub-redes. Na saída, nas zonas e na VPC em que o seu cluster está, observe os endereços IP flutuante de gateway das sub-redes.

    ibmcloud is public-gateways
    

    Saída de exemplo

    ID                                     Name                                       Status      Floating IP      VPC              Zone
    5d308ea5-9f32-43b3-aaae-194d5723a3e5   pgw-b9d45630-c053-11e9-b2f8-79328ce05e7e   available   169.XX.XXX.XX    test-vpc         us-south-1
    f8b95e43-a408-4dc8-a489-ed649fc4cfec   pgw-18a3ebb0-b539-11e9-9838-f3f4efa02374   available   169.XX.XXX.XX    prod             us-south-1
    2ba9a280-fffa-4b0c-bdca-7970f09f9b8a   pgw-73b62bc0-b53a-11e9-9838-f3f4efa02374   available   169.XX.XXX.XX    prod             us-south-2
    057ddef6-631f-4b22-89eb-1e99982a54fa   pgw-64c5cae0-0be2-11ea-8f26-e1565e79a36c   available   52.XX.XXX.XXX    prod             us-south-3
    
  4. Adicione os endereços IP do gateway público à lista de endereços permitidos do seu serviço ou à sua lista de endereços permitidos local para o tráfego de entrada.

  5. Repita essas etapas para cada cluster que você deseja permitir a entrada ou saída de tráfego.

Permitindo o egresso a um cluster de outro serviço

Para permitir o acesso de saída de outro serviço ao seu cluster, modifique a lista de permissões desse serviço ou a sua lista de permissões local.

  1. Obtenha as sub-redes do nó do trabalhador ou os endereços IP do nó do trabalhador.
    • CIDRs da sub-rede dos nós de trabalho: Se você prevê alterar com frequência o número de nós de trabalho em seu cluster — por exemplo, ao ativar o autoscaler do cluster —, talvez não seja recomendável atualizar sua lista de permissões para cada novo nó de trabalho. Em vez disso, você pode adicionar as sub-redes VPC que o cluster usa. Tenha em mente que a sub-rede de VPC pode ser compartilhada por nós do trabalhador em outros clusters.
      1. Obtenha as Zonas do trabalhador e os VPCs nos quais o seu cluster foi criado.
        ibmcloud ks cluster get -c <cluster>
        
        Saída de exemplo
        ...
        Worker Zones:                   us-south-1, us-south-2, us-south-3
        Ingress Subdomain:              vpc-prod.us-south.containers.appdomain.cloud
        Ingress Secret:                 vpc-prod
        Creator:                        -
        Public Service Endpoint URL:    https://c2.us-south.containers.cloud.ibm.com:20267
        Private Service Endpoint URL:   https://c2.private.us-south.containers.cloud.ibm.com:20267
        Pull Secrets:                   enabled in the default namespace
        VPCs:                           ff537d43-a5a4-4b65-9627-17eddfa5237b
        ...
        
      2. Para as sub-redes nas zonas e na VPC em que o seu cluster está, observe o CIDR de sub-rede.
        ibmcloud is subnets
        
        Saída de exemplo
        ID                                     Name             Status      Subnet CIDR        Addresses   ACL                                                          Public Gateway                             VPC              Zone
        5f5787a4-f560-471b-b6ce-20067ac93439   vpc-prod-dal1    available   10.240.0.0/24      183/256     allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b   -                                          prod             us-south-1
        e3c19786-1c54-4248-86ca-e60aab74ed62   vpc-prod-dal2    available   10.240.64.0/24     183/256     allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b   -                                          prod             us-south-2
        2930a068-51cc-4eca-807b-3f296d0891b4   vpc-prod-dal3    available   10.240.128.0/24    249/256     allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b   -                                          prod             us-south-3
        
    • Endereços IP do nó do trabalhador individual: se você tiver um pequeno número de nós do trabalhador que executam apenas um app e que não precisam escalar, ou se quiser incluir apenas um nó do trabalhador, liste todos os nós do trabalhador no cluster e anote os endereços IP primários. Apenas esses nós do trabalhador são incluídos. Se você excluir ou adicionar nós de trabalho ao cluster, deverá atualizar sua lista de permissões de acordo com essas alterações.
        ibmcloud ks worker ls --cluster <cluster_name_or_ID>
        ```
    
  2. Adicione os CIDRs das sub-redes ou os endereços IP individuais dos nós de trabalho à lista de permissões do seu serviço ou à sua lista de permissões local para o tráfego de saída.
  3. Repita essas etapas para cada cluster que você deseja permitir a entrada ou saída de tráfego.

Abertura de portas em grupos de segurança de VPC ou ACLs de VPC

Se você configurar grupos de segurança de VPC ou listas de controle de acesso(ACLs)de VPC para proteger a rede do cluster, certifique-se de criar as regras para permitir que o tráfego necessário se comunique com outros serviços do IBM Cloud.

Abertura de portas necessárias em listas de permissões públicas

Opcional: Permitir o tráfego de rede de entrada para o monitoramento do subdomínio de entrada

Se quiser usar o monitoramento de integridade do domínio Ingress para monitorar a integridade dos pontos de extremidade do serviço, você deverá permitir o acesso de entrada dos serviços de monitoramento.

Por padrão, as solicitações de monitoramento da integridade são enviadas por meio do site HTTPS para a porta 443. Portanto, você deve permitir o tráfego da lista dos intervalos de IP abaixo direcionados à porta 443. Se o monitor de saúde estiver configurado para usar HTTP, o tráfego da lista de permissões deverá ser direcionado para a porta 80. Além disso, se você usar uma porta TCP personalizada, certifique-se de permitir o tráfego de entrada para essa porta.

Para obter mais informações, consulte a documentação IBM NS1 Connect sobre monitoramento.

IBM NS1 Connect Monitoramento de intervalos de IP
  • 163.114.225.0/24
  • 163.114.230.0/24
  • 163.114.231.0/24

Atualização das listas de permissões do IAM para zonas de rede Kubernetes Service

Por padrão, todos os endereços IP podem ser usados para fazer login no console IBM Cloud e executar ações para gerenciar o cluster, como criar, atualizar, excluir ou visualizar credenciais. No console IBM Cloud Identity and Access Management (IAM), é possível criar uma lista de permissões especificando quais endereços IP possuem acesso e todos os outros endereços IP são restritos.

Se você optar por definir uma lista de permissões do IAM, deverá incluir uma zona de rede que inclua o endereço Kubernetes Service. Caso contrário, seus clusters existentes não funcionarão corretamente. Isso ocorre porque o plano de controle do Kubernetes Service precisa ser capaz de entrar em contato com o IAM para implantar e gerenciar os serviços do IBM necessários para o seu cluster. Siga estas instruções cuidadosamente antes de configurar sua lista de permissões IBM.

Na sua lista de permissões, você também deve configurar zonas de rede no plano de controle do IBM Cloud Kubernetes Service para a região em que o cluster está localizado, de modo que o IBM Cloud Kubernetes Service possa criar ou acessar componentes como ALBs de entrada

Antes de iniciar, as etapas a seguir requerem a mudança da lista de permissões do IAM para o usuário cujas credenciais são usadas para as permissões de infraestrutura do grupo de recursos e da região do cluster. Se você for o proprietário da credencial, será possível mudar suas próprias configurações da lista de permissões do IAM. Se você não for o proprietário das credenciais, mas tiver recebido a função de acesso “Editor” ou “Administrador” IBM Cloud na plataforma IAM para o serviço de Gerenciamento de Usuários, poderá atualizar as redes do proprietário das credenciais.

  1. Efetue login no console da IBM Cloud.

  2. Crie zonas de rede que incluam os IPs Kubernetes Service para todas as regiões ou apenas para as regiões em que você tem clusters.

    1. Na conta em que o cluster está, na barra de menus, clique em Gerenciar > Restrições baseadas em contexto.

    2. Clique em Zonas de rede > Criar.

    3. Em Name (Nome ), digite um nome descritivo para a zona de rede, como us-south-kubernetes-service-network-zone.

    4. Não insira nenhum valor nas seções Allowed IP addresses (Endereços IP permitidos ) e Allowed VPCs (VPCs permitidas ).

    5. Na seção Referência a um serviço, selecione Kubernetes Service e clique em +.

    6. Para Locations (Locais ), você pode deixar o campo vazio para que todos os locais sejam usados, o que se aplica a clusters em outras regiões, ou pode especificar uma única região.

    7. Clique em “Avançar” e verifique as opções selecionadas.

    8. Clique em Criar.

    9. Repita o procedimento para outras zonas.

  3. Adicione os nomes das zonas de rede à sua lista de permissões do IAM.

    1. Na barra de menus, clique em Gerenciar > Acesso (IAM) e selecione Configurações.

    2. Em Restrict IP address access (Restringir acesso ao endereço IP ), selecione Enable (Ativar ) e forneça o nome da zona de rede da etapa anterior.

    3. Clique em Aplicar.