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.
-
Permita o acesso a
cloud.ibm.comna porta 443 na sua lista de sites permitidos. -
Verifique sua conexão efetuando login no IBM Cloud por meio desse terminal de API.
ibmcloud login -a https://cloud.ibm.com/ -
Permita o acesso a
containers.cloud.ibm.comna porta 443 na sua lista de sites permitidos. -
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/versionsSaí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":""}]} -
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.
-
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
204será 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:
-
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] -
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, executeibmcloud ks cluster ls. Nota: deve-se ter pelo menos a função Visualizador para o grupo de recursos.ibmcloud target -g RESOURCE_GROUP_NAME -
Obtenha o nome do cluster.
ibmcloud ks cluster ls -
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_IDSaí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 ... -
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.
-
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® 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" } ``` -
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.
-
Recupere o endereço IP do servidor mestre URL que você utilizou para permitir os comandos
kubectl. -
Obtenha a porta para etcd.
kubectl get cm -n kube-system cluster-info -o yaml | grep etcd_host -
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
- Efetue login na sua conta. If applicable, target the appropriate resource group. Configure o contexto para o seu cluster.
- 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.
-
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 ... -
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.
-
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-gatewaysSaí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 -
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.
-
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.
- 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.
- Obtenha as Zonas do trabalhador e os VPCs nos quais o seu cluster foi criado.
Saída de exemploibmcloud ks cluster get -c <cluster>... 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 ... - Para as sub-redes nas zonas e na VPC em que o seu cluster está, observe o CIDR de sub-rede.
Saída de exemploibmcloud is subnetsID 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
- Obtenha as Zonas do trabalhador e os VPCs nos quais o seu cluster foi criado.
- 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> ``` - 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.
- 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.
- 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/24163.114.230.0/24163.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.
-
Efetue login no console da IBM Cloud.
-
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.
-
Na conta em que o cluster está, na barra de menus, clique em Gerenciar > Restrições baseadas em contexto.
-
Clique em Zonas de rede > Criar.
-
Em Name (Nome ), digite um nome descritivo para a zona de rede, como
us-south-kubernetes-service-network-zone. -
Não insira nenhum valor nas seções Allowed IP addresses (Endereços IP permitidos ) e Allowed VPCs (VPCs permitidas ).
-
Na seção Referência a um serviço, selecione Kubernetes Service e clique em +.
-
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.
-
Clique em “Avançar” e verifique as opções selecionadas.
-
Clique em Criar.
-
Repita o procedimento para outras zonas.
-
-
Adicione os nomes das zonas de rede à sua lista de permissões do IAM.
-
Na barra de menus, clique em Gerenciar > Acesso (IAM) e selecione Configurações.
-
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.
-
Clique em Aplicar.
-