|
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. |
Criando um Cluster EKS
O Amazon EKS fornece um plano de controle gerenciado para o seu cluster Kubernetes. O Amazon EKS executa as instâncias do plano de controle do Kubernetes em várias Zonas de Disponibilidade para garantir alta disponibilidade. O Rancher fornece uma interface de usuário intuitiva para gerenciar e implantar os clusters Kubernetes que você executa no Amazon EKS. Com este guia, você usará o Rancher para lançar rapidamente e facilmente um cluster Kubernetes Amazon EKS em sua conta AWS. Para mais informações sobre o Amazon EKS, consulte esta documentação.
Pré-requisitos no Amazon Web Services
|
Implantar no Amazon AWS incorrerá em cobranças. Para mais informações, consulte a página de preços do EKS. |
Para configurar um cluster no EKS, você precisará configurar uma VPC (Virtual Private Cloud) da Amazon. Você também precisará garantir que a conta que usará para criar o cluster EKS tenha as permissões apropriadas. Para detalhes, consulte o guia oficial sobre Pré-requisitos do Amazon EKS.
Amazon VPC
Uma VPC da Amazon é necessária para lançar o cluster EKS. A VPC permite que você lance recursos da AWS em uma rede virtual que você definiu. Você pode configurar uma por conta própria e fornecê-la durante a criação do cluster no Rancher. Se você não fornecer uma durante a criação, o Rancher criará uma. Para mais informações, consulte o Tutorial: Criando uma VPC com Sub-redes Públicas e Privadas para o Seu Cluster Amazon EKS.
Políticas IAM
O Rancher precisa de acesso à sua conta AWS para provisionar e administrar seus clusters Kubernetes no Amazon EKS. Você precisará criar um usuário para o Rancher em sua conta da AWS e definir a que esse usuário pode acessar.
-
Crie um usuário com acesso programático seguindo os passos aqui.
-
Em seguida, crie uma política IAM que define a que este usuário tem acesso em sua conta da AWS. É importante conceder a este usuário apenas o acesso mínimo dentro de sua conta. As permissões mínimas necessárias para um cluster EKS estão listadas aqui. Siga os passos aqui para criar uma política IAM e anexá-la ao seu usuário.
-
Por fim, siga os passos aqui para criar uma chave de acesso e uma chave secreta para este usuário.
|
Importante:
É importante rotacionar regularmente suas chaves de acesso e chaves secretas. Consulte esta documentação para mais informações. |
Para informações mais detalhadas sobre políticas IAM para EKS, consulte a documentação oficial sobre Políticas IAM do Amazon EKS, Funções, e Permissões.
Criar o Cluster EKS
Use o Rancher para configurar seu cluster Kubernetes.
-
Clique em ☰ > Gerenciamento de Cluster.
-
Na página Clusters, clique em Criar.
-
Escolha Amazon EKS.
-
Digite um Nome do Cluster.
-
Use Funções de Membro para configurar a autorização de usuários para o cluster. Clique em Adicionar Membro para adicionar usuários que podem acessar o cluster. Use o menu suspenso Função para definir permissões para cada usuário.
-
Preencha o restante do formulário. Para ajuda, consulte a referência de configuração.
-
Clique em Criar.
Resultado:
Seu cluster foi criado e atribuído ao estado de Provisionamento. O Rancher está configurando seu cluster.
Você pode acessar seu cluster após seu estado ser atualizado para Ativo.
Clusters Ativos são atribuídos a dois projetos:
-
Default, contendo o namespacedefault -
System, contendo os namespacescattle-system,traefik,kube-publicekube-system
Referência de Configuração do Cluster EKS
Para a lista completa de opções de configuração do cluster EKS, veja esta página.
Arquitetura
A figura abaixo ilustra a arquitetura de alto nível do Rancher 2.x. A figura retrata uma instalação do Rancher Server que gerencia dois clusters Kubernetes: um criado pelo RKE e outro criado pelo EKS.
Eventos de Serviço da AWS
Para encontrar informações sobre quaisquer eventos de Serviço da AWS, consulte esta página.
Segurança e Conformidade
Por padrão, apenas o usuário ou papel do IAM que criou um cluster tem acesso a ele. Tentar acessar o cluster com qualquer outro usuário ou papel sem configuração adicional resultará em um erro. No Rancher, isso significa que usar uma credencial que mapeia para um usuário ou papel que não foi usado para criar o cluster causará um erro de não autorizado. Por exemplo, um cluster EKSCtl não será registrado no Rancher, a menos que as credenciais usadas para registrar o cluster correspondam ao papel ou usuário usado pelo EKSCtl. Usuários e papéis adicionais podem ser autorizados a acessar um cluster sendo adicionados ao configmap aws-auth no namespace kube-system. Para uma explicação mais detalhada e instruções completas, consulte esta documentação.
Para mais informações sobre segurança e conformidade com seu cluster Kubernetes Amazon EKS, consulte esta documentação.
Tutorial
Este tutorial no Blog Open Source da AWS irá guiá-lo sobre como configurar um cluster EKS com o Rancher, implantar um app acessível publicamente para testar o cluster e implantar um projeto de amostra para rastrear dados geoespaciais em tempo real usando uma combinação de outros softwares de código aberto, como Grafana e InfluxDB.
Permissões mínimas do EKS
Este é o conjunto mínimo de permissões necessárias para acessar toda a funcionalidade do driver EKS do Rancher. Essas permissões permitem que o Rancher crie o Papel de Serviço e os recursos da Nuvem Privada Virtual (VPC) em nome dos usuários, se necessário.
|
No EKS v1.23 e acima, você deve usar os drivers fora da árvore para volumes suportados por EBS. Você precisa de permissões específicas para habilitar este complemento. |
| Resource | Descrição |
|---|---|
Complemento do driver EBS CSI |
Fornece permissões que permitem que o Kubernetes interaja com o EBS e configure o cluster para habilitar o complemento (necessário para EKS v1.23 e acima). O Rancher pode instalar o complemento com as seguintes Permissões do complemento do driver EBS CSI. |
O direcionamento de recursos usa * como o ARN de muitos dos recursos criados que não podem ser conhecidos antes de criar o cluster EKS no Rancher.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EC2Permissions",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateKeyPair",
"ec2:CreateLaunchTemplate",
"ec2:CreateLaunchTemplateVersion",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteKeyPair",
"ec2:DeleteLaunchTemplate",
"ec2:DeleteLaunchTemplateVersions",
"ec2:DeleteSecurityGroup",
"ec2:DeleteTags",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInternetGateways",
"ec2:DescribeInstanceTypes",
"ec2:DescribeKeyPairs",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeRegions",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeVpcs",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress",
"ec2:RunInstances"
],
"Resource": "*"
},
{
"Sid": "CloudFormationPermissions",
"Effect": "Allow",
"Action": [
"cloudformation:CreateStack",
"cloudformation:CreateStackSet",
"cloudformation:DeleteStack",
"cloudformation:DescribeStackResource",
"cloudformation:DescribeStackResources",
"cloudformation:DescribeStacks",
"cloudformation:ListStackResources",
"cloudformation:ListStacks"
],
"Resource": "*"
},
{
"Sid": "IAMPermissions",
"Effect": "Allow",
"Action": [
"iam:AddRoleToInstanceProfile",
"iam:AttachRolePolicy",
"iam:CreateInstanceProfile",
"iam:CreateRole",
"iam:CreateServiceLinkedRole",
"iam:DeleteInstanceProfile",
"iam:DeleteRole",
"iam:DetachRolePolicy",
"iam:GetInstanceProfile",
"iam:GetRole",
"iam:ListAttachedRolePolicies",
"iam:ListInstanceProfiles",
"iam:ListInstanceProfilesForRole",
"iam:ListRoles",
"iam:ListRoleTags",
"iam:PassRole",
"iam:RemoveRoleFromInstanceProfile",
"iam:TagRole"
],
"Resource": "*"
},
{
"Sid": "KMSPermissions",
"Effect": "Allow",
"Action": "kms:ListKeys",
"Resource": "*"
},
{
"Sid": "EKSPermissions",
"Effect": "Allow",
"Action": [
"eks:CreateCluster",
"eks:CreateFargateProfile",
"eks:CreateNodegroup",
"eks:DeleteCluster",
"eks:DeleteFargateProfile",
"eks:DeleteNodegroup",
"eks:DescribeAddon",
"eks:DescribeCluster",
"eks:DescribeFargateProfile",
"eks:DescribeNodegroup",
"eks:DescribeUpdate",
"eks:ListClusters",
"eks:ListFargateProfiles",
"eks:ListNodegroups",
"eks:ListTagsForResource",
"eks:ListUpdates",
"eks:TagResource",
"eks:UntagResource",
"eks:UpdateClusterConfig",
"eks:UpdateClusterVersion",
"eks:UpdateNodegroupConfig",
"eks:UpdateNodegroupVersion"
],
"Resource": "*"
},
{
"Sid": "VPCPermissions",
"Effect": "Allow",
"Action": [
"ec2:AssociateRouteTable",
"ec2:AttachInternetGateway",
"ec2:CreateInternetGateway",
"ec2:CreateRoute",
"ec2:CreateRouteTable",
"ec2:CreateSecurityGroup",
"ec2:CreateSubnet",
"ec2:CreateVpc",
"ec2:DeleteInternetGateway",
"ec2:DeleteRoute",
"ec2:DeleteRouteTable",
"ec2:DeleteSubnet",
"ec2:DeleteTags",
"ec2:DeleteVpc",
"ec2:DescribeVpcs",
"ec2:DetachInternetGateway",
"ec2:DisassociateRouteTable",
"ec2:ModifySubnetAttribute",
"ec2:ModifyVpcAttribute",
"ec2:ReplaceRoute"
],
"Resource": "*"
}
]
}
Quando você cria um cluster EKS, o Rancher cria um papel de serviço com a seguinte política de confiança:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
Este papel também possui dois anexos de política de papel com os ARNs das seguintes políticas:
arn:aws:iam::aws:policy/AmazonEKSClusterPolicy arn:aws:iam::aws:policy/AmazonEKSServicePolicy
Permissões do complemento do driver EBS CSI
As permissões necessárias para instalar o complemento Amazon EBS CSI Driver são as seguintes.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:AssociateIdentityProviderConfig",
"eks:CreateAddon",
"eks:DeleteAddon",
"eks:DescribeAddonConfiguration",
"eks:DescribeAddonVersions",
"eks:DescribeIdentityProviderConfig",
"eks:ListAddons",
"eks:ListIdentityProviderConfigs",
"eks:UpdateAddon",
"iam:CreateOpenIDConnectProvider",
"iam:ListOpenIDConnectProviders",
"sts:AssumeRoleWithWebIdentity"
],
"Resource": "*"
}
]
}
Permissões de Rede Dual-Stack IPv6
As seguintes são as permissões adicionais necessárias para provisionar um cluster EKS IPv6 a partir do Rancher.
|
Essas permissões são necessárias apenas quando o Rancher está criando um novo cluster IPv6. Durante a criação de um novo cluster, o Rancher precisa dessas permissões para gerar a VPC de pilha dupla, criar o provedor IAM OIDC e atribuir uma política inline ( Se você estiver registrando (importando) um cluster EKS existente que já possui IPv6 configurado, essas permissões adicionais não são necessárias. |
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:AssignIpv6Addresses",
"ec2:UnassignIpv6Addresses",
"ec2:AssignPrivateIpAddresses",
"ec2:UnassignPrivateIpAddresses",
"ec2:AssociateVpcCidrBlock",
"ec2:DisassociateVpcCidrBlock",
"iam:PutRolePolicy",
"iam:CreateOpenIDConnectProvider",
"iam:ListOpenIDConnectProviders",
"eks:AssociateIdentityProviderConfig",
"eks:DescribeIdentityProviderConfig",
"eks:ListIdentityProviderConfigs",
"sts:AssumeRoleWithWebIdentity"
],
"Resource": "*"
}
]
}
Sincronizando
O provisionador EKS pode sincronizar o estado de um cluster EKS entre o Rancher e o provedor. Para uma explicação técnica detalhada de como isso funciona, veja Sincronizando.
Para informações sobre como configurar o intervalo de atualização, consulte esta seção.
Solução de problemas
Se suas alterações foram sobrescritas, isso pode ser devido à forma como os dados do cluster são sincronizados com o EKS. Alterações não devem ser feitas no cluster a partir de outra fonte, como no console do EKS, e no Rancher dentro de um intervalo de cinco minutos. Para informações sobre como isso funciona e como configurar o intervalo de atualização, consulte Sincronização.
Se um erro não autorizado for retornado ao tentar modificar ou registrar o cluster e o cluster não foi criado com o papel ou usuário ao qual suas credenciais pertencem, consulte Segurança e Conformidade.
Para quaisquer problemas ou detalhes de solução de problemas para seu cluster Kubernetes Amazon EKS, consulte esta documentação.
Criando clusters EKS programaticamente
A maneira mais comum de implantar clusters EKS programaticamente através do Rancher é usando o provedor Terraform Rancher2. A documentação para criar clusters com Terraform está aqui.