Configuração e execução do Amazon EKS Anywhere em dispositivos Snowball Edge - AWS Snowball Edge Guia do desenvolvedor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configuração e execução do Amazon EKS Anywhere em dispositivos Snowball Edge

Siga esses procedimentos para configurar e iniciar o Amazon EKS Anywhere em seus dispositivos Snowball Edge. Em seguida, para configurar o Amazon EKS Anywhere para operar em dispositivos desconectados, conclua procedimentos adicionais antes de desconectar esses dispositivos da rede externa. Para obter mais informações, consulte Configuração do Amazon EKS Anywhere on AWS Snow para operação desconectada.

Configuração inicial do Amazon EKS Anywhere no Snowball Edge

Execute a configuração inicial em cada dispositivo Snowball Edge conectando o dispositivo à sua rede local, baixando o Snowball Edge Client, obtendo credenciais e desbloqueando o dispositivo.

Execute a configuração inicial
  1. Faça o download e instale o Snowball Edge Client. Para obter mais informações, consulte Baixar e instalar o Snowball Edge Client.

  2. Conecte o dispositivo à rede local. Para obter mais informações, consulte Conectando um Snowball Edge à sua rede local.

  3. Obtenha credenciais para desbloquear seu dispositivo. Para obter mais informações, consulte Obter credenciais para acessar um Snowball Edge.

  4. Desbloqueie o dispositivo. Para obter mais informações, consulte Desbloquear o Snowball Edge. Você também pode usar uma ferramenta de script em vez de desbloquear dispositivos manualmente. Consulte Desbloquear dispositivos.

Configuração e execução automática do Amazon EKS Anywhere em dispositivos Snowball Edge

Você pode usar exemplos de ferramentas de script para configurar o ambiente e executar uma instância administrativa do Amazon EKS Anywhere ou pode fazer isso manualmente. Para usar as ferramentas de script, consulte Desbloquear dispositivos e ambiente de configuração para o Amazon EKS Anywhere. Depois que o ambiente estiver configurado e a instância administrativa do Amazon EKS Anywhere estiver em execução, se você precisar configurar o Amazon EKS Anywhere para operar no dispositivo Snowball Edge enquanto estiver desconectado de uma rede, consulte Configuração do Amazon EKS Anywhere on AWS Snow para operação desconectada. Caso contrário, consulte Criar clusters e realizar a manutenção deles em dispositivos Snowball Edge.

Para configurar manualmente o ambiente e executar uma instância administrativa do Amazon EKS Anywhere, consulte Configurando e executando o Amazon EKS Anywhere em dispositivos Snowball Edge manualmente.

Configurando e executando o Amazon EKS Anywhere em dispositivos Snowball Edge manualmente

Antes de configurar o Amazon EKS Anywhere em um dispositivo Snowball Edge, configure um perfil para o Snowball Edge Client. Para obter mais informações, consulte Configurar e usar o Snowball Edge Client.

Crie um usuário local do IAM do Amazon EKS Anywhere

Para obter as melhores práticas de segurança, crie um usuário local do IAM para o Amazon EKS Anywhere no dispositivo Snowball Edge. Isso pode ser feito manualmente por meio dos procedimentos a seguir.

nota

Faça isso para cada dispositivo Snowball Edge que você usa.

Crie um usuário local no Snowball Edge

Use o comando create-user para criar o usuário IAM do Amazon EKS Anywhere.

aws iam create-user --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name { "User": { "Path": "/", "UserName": "eks-a-user", "UserId": "AIDACKCEVSQ6C2EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/eks-a-user", "CreateDate": "2022-04-06T00:13:35.665000+00:00" } }

Crie uma política para o usuário local no Snowball Edge

Crie um documento de política, use-o para criar uma política do IAM e anexe essa política ao usuário local do Amazon EKS Anywhere.

Para criar um documento de política e anexá-lo ao usuário local do Amazon EKS Anywhere
  1. Crie um documento de política e salve-o no computador. Copie a política abaixo para o documento.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "snowballdevice:DescribeDevice", "snowballdevice:CreateDirectNetworkInterface", "snowballdevice:DeleteDirectNetworkInterface", "snowballdevice:DescribeDirectNetworkInterfaces", "snowballdevice:DescribeDeviceSoftware" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:DescribeInstances", "ec2:TerminateInstances", "ec2:ImportKeyPair", "ec2:DescribeKeyPairs", "ec2:DescribeInstanceTypes", "ec2:DescribeImages", "ec2:DeleteTags" ], "Resource": ["*"] } ] }
  2. Use o comando create-policy para criar uma política do IAM com base no documento de política. O valor do parâmetro --policy-document deve usar o caminho absoluto para o arquivo de política. Por exemplo, file:///home/user/policy-name.json

    aws iam create-policy --policy-name policy-name --policy-document file:///home/user/policy-name.json --endpoint http://snowball-ip:6078 --profile profile-name { "Policy": { "PolicyName": "policy-name", "PolicyId": "ANPACEMGEZDGNBVGY3TQOJQGEZAAAABP76TE5MKAAAABCCOTR2IJ43NBTJRZBU", "Arn": "arn:aws:iam::123456789012:policy/policy-name", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "IsAttachable": true, "CreateDate": "2022-04-06T04:46:56.907000+00:00", "UpdateDate": "2022-04-06T04:46:56.907000+00:00" } }
  3. Use o comando attach-user-policy para anexar a política do IAM ao usuário local do Amazon EKS Anywhere.

    aws iam attach-user-policy --policy-arn policy-arn --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name

Crie uma chave de acesso e um arquivo de credencial no Snowball Edge

Crie uma chave de acesso para o usuário local do IAM do Amazon EKS Anywhere. Em seguida, crie um arquivo de credencial e inclua nele os valores AccessKeyId e SecretAccessKey gerados para o usuário local. O arquivo de credencial será usado posteriormente pela instância administrativa do Amazon EKS Anywhere.

  1. Use o comando create-access-key para criar uma chave de acesso para o usuário local do Amazon EKS Anywhere.

    aws iam create-access-key --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name { "AccessKey": { "UserName": "eks-a-user", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "Status": "Active", "SecretAccessKey": "RTT/wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "CreateDate": "2022-04-06T04:23:46.139000+00:00" } }
  2. Crie um arquivo de credencial. Nele, salve os valores AccessKeyId e SecretAccessKey no formato a seguir.

    [snowball-ip] aws_access_key_id = ABCDEFGHIJKLMNOPQR2T aws_secret_access_key = AfSD7sYz/TBZtzkReBl6PuuISzJ2WtNkeePw+nNzJ region = snow
    nota

    Se você estiver trabalhando com vários dispositivos Snowball Edge, a ordem das credenciais no arquivo não importa, mas as credenciais de todos os dispositivos precisam estar em um arquivo.

Crie um arquivo de certificados para a instância administrativa no Snowball Edge

A instância administrativa do Amazon EKS Anywhere precisa dos certificados dos dispositivos Snowball Edge para ser executada neles. Crie um arquivo de certificados contendo o certificado para acessar os dispositivos Snowball Edge para uso posterior pela instância administrativa do Amazon EKS Anywhere.

Para criar um arquivo de certificados
  1. Use o comando list-certificates para obter certificados para cada dispositivo Snowball Edge que você planeja usar.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge list-certificates --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code { "Certificates" : [ { "CertificateArn" : "arn:aws:snowball-device:::certificate/xxx", "SubjectAlternativeNames" : [ "ID:JID-xxx" ] } ] }
  2. Use o valor de CertificateArn como valor para o parâmetro --certificate-arn do comando get-certificate.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge get-certificate --certificate-arn ARN --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  3. Crie um arquivo de certificado de dispositivo. Coloque a saída de get-certificate no arquivo de certificado. A seguir, veja um exemplo de como salvar a saída.

    nota

    Se você estiver trabalhando com vários dispositivos Snowball Edge, a ordem das credenciais no arquivo não importa, mas as credenciais de todos os dispositivos precisam estar em um arquivo.

    -----BEGIN CERTIFICATE----- ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ ... -----END CERTIFICATE-----
  4. Repita o procedimento Crie um usuário local do IAM do Amazon EKS Anywhere para criar um usuário local do IAM para o Amazon EKS Anywhere em todos os dispositivos Snowball Edge.

(Opcional) Crie e importe uma chave Secure Shell em um Snowball Edge

Use esse procedimento opcional para criar uma chave Secure Shell (SSH) para acessar todas as instâncias de nós do Amazon EKS Anywhere e importar a chave pública para todos os dispositivos Snowball Edge. Mantenha e proteja esse arquivo de chave.

Se você pular esse procedimento, o Amazon EKS Anywhere criará e importará uma chave SSH automaticamente quando for necessário. Essa chave será armazenada na instância administrativa em ${PWD}/${CLUSTER_NAME}/eks-a-id_rsa.

Crie uma chave SSH e importe-a para a instância do Amazon EKS Anywhere
  1. Use o comando ssh-keygen para gerar uma chave SSH.

    ssh-keygen -t rsa -C "key-name" -f path-to-key-file
  2. Use o comando import-key-pair para importar a chave do seu computador para o dispositivo Snowball Edge.

    nota

    O valor do parâmetro key-name deve ser o mesmo quando você importa a chave para todos os dispositivos.

    aws ec2 import-key-pair --key-name key-name --public-key-material fileb:///path/to/key-file --endpoint http://snowball-ip:8008 --profile profile-name { "KeyFingerprint": "5b:0c:fd:e1:a0:69:05:4c:aa:43:f3:3b:3e:04:7f:51", "KeyName": "default", "KeyPairId": "s.key-85edb5d820c92a6f8" }

Execute uma instância administrativa do Amazon EKS Anywhere em um Snowball Edge e transfira arquivos de credenciais e certificados para ela

Execute uma instância administrativa do Amazon EKS Anywhere em um Snowball Edge

Siga este procedimento para executar manualmente uma instância administrativa do Amazon EKS Anywhere, configurar uma interface de rede virtual (VNI) para a instância administrativa, verificar o status da instância, criar uma chave SSH e conectar-se à instância administrativa com ela. Você pode usar uma ferramenta de script de amostra para automatizar a criação de uma instância administrativa do Amazon EKS Anywhere e a transferência de arquivos de credenciais e certificados para essa instância. Consulte Criar instância administrativa do Amazon EKS Anywhere. Depois que a ferramenta de script for concluída, você poderá entrar por ssh na instância e criar clusters consultando a Criar clusters e realizar a manutenção deles em dispositivos Snowball Edge. Se você quiser configurar a instância do Amazon EKS Anywhere manualmente, use as seguintes etapas.

nota

Se você estiver usando mais de um dispositivo Snowball Edge para provisionar o cluster, poderá iniciar uma instância administrativa do Amazon EKS Anywhere em qualquer um dos dispositivos do Snowball Edge.

Para executar uma instância administrativa do Amazon EKS Anywhere
  1. Use o comando create-key-pair para criar uma chave SSH para a instância administrativa do Amazon EKS Anywhere. O comando salva a chave em $PWD/key-file-name.

    aws ec2 create-key-pair --key-name key-name --query 'KeyMaterial' --output text --endpoint http://snowball ip:8008 > key-file-name --profile profile-name
  2. Use o comando describe-images para encontrar o nome da imagem que começa com eks-anywhere-admin na saída.

    aws ec2 describe-images --endpoint http://snowball-ip:8008 --profile profile-name
  3. Use o comando run-instance para iniciar uma instância de administração eks-a com a imagem de administrador do Amazon EKS Anywhere.

    aws ec2 run-instances --image-id eks-a-admin-image-id --key-name key-name --instance-type sbe-c.xlarge --endpoint http://snowball-ip:8008 --profile profile-name
  4. Use o comando describe-instances para verificar o estado da instância do Amazon EKS Anywhere. Espere até que o comando indique que o estado da instância é running antes de continuar.

    aws ec2 describe-instances --instance-id instance-id --endpoint http://snowball-ip:8008 --profile profile-name
  5. Na saída do comando describe-device, observe o valor de PhysicalNetworkInterfaceId para a interface de rede física conectada à sua rede. Isso será usado para criar uma VNI.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge describe-device --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  6. Crie uma VNI para a instância administrativa do Amazon EKS Anywhere. Use o valor de PhysicalNetworkInterfaceId como o valor do parâmetro physical-network-interface-id.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge create-virtual-network-interface --ip-address-assignment dhcp --physical-network-interface-id PNI --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  7. Use o valor de IpAddress como o valor do parâmetro public-ip do comando associate-address para associar o endereço público à instância administrativa do Amazon EKS Anywhere.

    aws ec2 associate-address --instance-id instance-id --public-ip VNI-IP --endpoint http://snowball-ip:8008 --profile profile-name
  8. Conecte-se à instância administrativa do Amazon EKS Anywhere por SSH.

    ssh -i path-to-key ec2-user@VNI-IP

Transfira arquivos de certificado e credencial para a instância administrativa no Snowball Edge

Depois que a instância administrativa do Amazon EKS Anywhere estiver em execução, transfira as credenciais e os certificados dos seus dispositivos Snowball Edge para a instância administrativa. Execute o seguinte comando no mesmo diretório em que você salvou os arquivos de credenciais e certificados em Crie uma chave de acesso e um arquivo de credencial no Snowball Edge e Crie um arquivo de certificados para a instância administrativa no Snowball Edge.

scp -i path-to-key path-to-credentials-file path-to-certificates-file ec2-user@eks-admin-instance-ip:~

Verifique o conteúdo dos arquivos na instância administrativa do Amazon EKS Anywhere. Veja a seguir exemplos dos arquivos de credenciais e certificados.

[192.168.1.1] aws_access_key_id = EMGEZDGNBVGY3TQOJQGEZB5ULEAAIWHWUJDXEXAMPLE aws_secret_access_key = AUHpqjO0GZQHEYXDbN0neLNlfR0gEXAMPLE region = snow [192.168.1.2] aws_access_key_id = EMGEZDGNBVGY3TQOJQGEZG5O7F3FJUCMYRMI4KPIEXAMPLE aws_secret_access_key = kY4Cl8+RJAwq/bu28Y8fUJepwqhDEXAMPLE region = snow
-----BEGIN CERTIFICATE----- ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- KJ0FPl2PAYPEjxr81/PoCXfZeARBzN9WLUH5yz1ta+sYUJouzhzWuLJYA1xqcCPY mhVlkRsN4hVdlBNRnCCpRF766yjdJeibKVzXQxoXoZBjrOkuGwqRy3d3ndjK77h4 OR5Fv9mjGf7CjcaSjk/4iwmZvRSaQacb0YG5GVeb4mfUAuVtuFoMeYfnAgMBAAGj azBpMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFL/bRcnBRuSM5+FcYFa8HfIBomdF ... -----END CERTIFICATE-----