Configuración y ejecución de Amazon EKS Anywhere en dispositivos Snowball Edge - AWS Snowball Edge Guía para desarrolladores

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración y ejecución de Amazon EKS Anywhere en dispositivos Snowball Edge

Siga estos procedimientos para configurar e iniciar Amazon EKS Anywhere en sus dispositivos Snowball Edge. A continuación, para configurar Amazon EKS Anywhere para que funcione en dispositivos desconectados, complete procedimientos adicionales antes de desconectar dichos dispositivos de la red externa. Para obtener más información, consulte Configuración de Amazon EKS Anywhere on AWS Snow para un funcionamiento desconectado.

Configuración inicial para los dispositivos de la familia Amazon EKS Anywhere on Snow

Para realizar la configuración inicial en cada dispositivo Snowball Edge debe conectar el dispositivo a la red local, descargar el cliente de Snowball Edge, obtener las credenciales y desbloquear el dispositivo.

Realización de la configuración inicial
  1. Descargue e instale el cliente de Snowball Edge. Para obtener más información, consulte Descarga e instalación del cliente de Snowball Edge.

  2. Conecte el dispositivo a la red local. Para obtener más información, consulte Conexión de un dispositivo de la familia Snow a su red local.

  3. Obtenga las credenciales para desbloquear el dispositivo. Para obtener más información, consulte Obtener credenciales para acceder a un dispositivo de la familia Snow.

  4. Desbloquee el dispositivo. Para obtener más información, consulte Desbloquear el dispositivo de la familia Snow. También puede usar una herramienta de script en lugar de desbloquear los dispositivos manualmente. Consulte Desbloqueo de dispositivos.

Configuración y ejecución automática de Amazon EKS Anywhere en dispositivos Snowball Edge

Puede usar herramientas de script de muestra para configurar el entorno y ejecutar una instancia de administración de Amazon EKS Anywhere o puede hacerlo manualmente. Para usar las herramientas de script, consulte Desbloquear dispositivos y configurar el entorno para Amazon EKS Anywhere. Una vez configurado el entorno y ejecutándose la instancia de administración de Amazon EKS Anywhere, si necesita configurar Amazon EKS Anywhere para que funcione en el dispositivo Snowball Edge mientras está desconectado de la red, consulte. Configuración de Amazon EKS Anywhere on AWS Snow para un funcionamiento desconectado De lo contrario, consulte Creación y mantenimiento de clústeres en dispositivos Snowball Edge.

Para configurar manualmente el entorno y ejecutar una instancia de administración de Amazon EKS Anywhere, consulteConfiguración y ejecución manual de Amazon EKS Anywhere en dispositivos Snowball Edge.

Configuración y ejecución manual de Amazon EKS Anywhere en dispositivos Snowball Edge

Antes de configurar Amazon EKS Anywhere en un dispositivo Snowball Edge, configure un perfil para el cliente de Snowball Edge. Para obtener más información, consulte Configuración y uso del cliente Snowball Edge.

Crear un usuario IAM local de Amazon EKS Anywhere

Para obtener las mejores prácticas de seguridad, cree un IAM usuario local para Amazon EKS Anywhere en el dispositivo Snowball Edge. Para hacerlo de forma manual, utilice los siguientes procedimientos.

nota

Debe hacerlo para cada dispositivo Snowball Edge que utilice.

Cree un usuario local en el dispositivo de la familia Snow

Usa el create-user comando para crear el IAM usuario 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" } }

Cree una política para el usuario local en el dispositivo de la familia Snow

Crea un documento de política, úsalo para crear una IAM política y adjunta esa política al usuario local de Amazon EKS Anywhere.

Para crear un documento de política y adjuntarlo al usuario local de Amazon EKS Anywhere
  1. Cree un documento de política y guárdelo en su equipo. Copie al documento la política que se muestra a continuación.

    { "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. Utilice el create-policy comando para crear una IAM política basada en el documento de política. El valor del parámetro --policy-document debe usar la ruta absoluta al archivo de política. Por ejemplo, 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. Usa el attach-user-policy comando para adjuntar la IAM política al usuario local de Amazon EKS Anywhere.

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

Cree una clave de acceso y un archivo de credenciales en el dispositivo de la familia Snow

Cree una clave de acceso para el usuario IAM local de Amazon EKS Anywhere. A continuación, cree un archivo de credenciales e incluya en él los valores de AccessKeyId y SecretAccessKey generados para el usuario local. La instancia de administración de Amazon EKS Anywhere utilizará el archivo de credenciales más adelante.

  1. Usa el create-access-key comando para crear una clave de acceso para el usuario local de 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. Cree un archivo de credenciales. Guarde en él los valores de AccessKeyId y SecretAccessKey en el siguiente formato.

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

    Si está trabajando con varios dispositivos Snowball Edge, el orden de las credenciales en el archivo no importa, pero las credenciales de todos los dispositivos deben estar en un solo archivo.

Cree un archivo de certificados para la instancia de administración en el dispositivo de la familia Snow

La instancia de administración de Amazon EKS Anywhere necesita los certificados de los dispositivos Snowball Edge para poder ejecutarse en ellos. Cree un archivo de certificados que contenga el certificado para acceder a los dispositivos Snowball Edge para que la instancia de administración de Amazon EKS Anywhere lo utilice más adelante.

Creación de un archivo de certificados
  1. Utilice el comando list-certificates para obtener certificados para cada dispositivo Snowball Edge que vaya a utilizar.

    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. Utilice el valor de CertificateArn como valor para el parámetro --certificate-arn del 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. Cree un archivo de certificados de los dispositivos. Coloque el resultado de get-certificate en el archivo de certificados. A continuación se muestra un ejemplo de cómo guardar la salida.

    nota

    Si está trabajando con varios dispositivos Snowball Edge, el orden de las credenciales en el archivo no importa, pero las credenciales de todos los dispositivos deben estar en un solo archivo.

    -----BEGIN CERTIFICATE----- ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ ... -----END CERTIFICATE-----
  4. Repita este procedimiento Crear un usuario IAM local de Amazon EKS Anywhere para crear un usuario IAM local para Amazon EKS Anywhere en todos los dispositivos Snowball Edge.

(Opcional) Cree e importe una clave Secure Shell en un dispositivo de la familia Snow

Utilice este procedimiento opcional para crear una clave Secure Shell (SSH) para acceder a todas las instancias de nodo de Amazon EKS Anywhere e importar la clave pública a todos los dispositivos Snowball Edge. Guarde y proteja este archivo de clave.

Si omite este procedimiento, Amazon EKS Anywhere creará e importará una SSH clave automáticamente cuando sea necesario. Esta clave se almacenará en la instancia de administración en ${PWD}/${CLUSTER_NAME}/eks-a-id_rsa.

Crea una SSH clave e impórtala a la instancia de Amazon EKS Anywhere
  1. Utilice el ssh-keygen comando para generar una SSH clave.

    ssh-keygen -t rsa -C "key-name" -f path-to-key-file
  2. Utilice el comando import-key-pair para importar la clave del equipo al dispositivo Snowball Edge.

    nota

    El valor del parámetro key-name debe ser el mismo al importar la clave a todos los 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" }

Ejecute una instancia de administración de Amazon EKS Anywhere en un dispositivo de la familia Snow y transfiérale los archivos de credenciales y certificados

Ejecute una instancia de administración de Amazon EKS Anywhere en un dispositivo de la familia Snow

Siga este procedimiento para ejecutar manualmente una instancia de administración de Amazon EKS Anywhere, configurar una interfaz de red virtual (VNI) para la instancia de administración, comprobar el estado de la instancia, crear una SSH clave y conectarse a la instancia de administración con ella. Puede utilizar una herramienta de script de muestra para automatizar la creación de una instancia de administración de Amazon EKS Anywhere y la transferencia de archivos de credenciales y certificados a esta instancia. Consulte Crear una instancia de administración de Amazon EKS Anywhere. Cuando la herramienta de script finaliza, puede obtener acceso a la instancia mediante ssh y crear clústeres; para ello, consulte Creación y mantenimiento de clústeres en dispositivos Snowball Edge. Si quieres configurar la instancia de Amazon EKS Anywhere manualmente, sigue estos pasos.

nota

Si utiliza más de un dispositivo Snowball Edge para aprovisionar el clúster, puede lanzar una instancia de administración de Amazon EKS Anywhere en cualquiera de los dispositivos Snowball Edge.

Para ejecutar una instancia de administración de Amazon EKS Anywhere
  1. Usa el create-key-pair comando para crear una SSH clave para la instancia de administración de Amazon EKS Anywhere. El comando guarda la clave en $PWD/key-file-name.

    aws ec2 create-key-pair --key-name key-name --query 'KeyMaterial' --output text --endpoint http://snowball ip:8008 --profile profile-name > key-file-name
  2. Utilice el comando describe-images para buscar en la salida el nombre de la imagen que comienza por eks-anywhere-admin.

    aws ec2 describe-images --endpoint http://snowball-ip:8008 --profile profile-name
  3. Usa el run-instance comando para iniciar una instancia eks-a admin con la imagen de administrador de 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. Usa el describe-instances comando para comprobar el estado de la instancia de Amazon EKS Anywhere. Espere hasta que el comando indique que el estado de la instancia es running antes de continuar.

    aws ec2 describe-instances --instance-id instance-id --endpoint http://snowball-ip:8008 --profile profile-name
  5. Examine la salida del comando describe-device y anote el valor de PhysicalNetworkInterfaceId de la interfaz de red física que está conectada a la red. Lo usará para crear unVNI.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge describe-device --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  6. Cree una VNI para la instancia de administración de Amazon EKS Anywhere. Utilice el valor de PhysicalNetworkInterfaceId como valor del 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. Utilice el valor de IpAddress como valor del public-ip parámetro del associate-address comando para asociar la dirección pública a la instancia de administración de Amazon EKS Anywhere.

    aws ec2 associate-address --instance-id instance-id --public-ip VNI-IP --endpoint http://snowball-ip:8008 --profile profile-name
  8. Conéctese a la instancia de administración de Amazon EKS Anywhere medianteSSH.

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

Transfiera los archivos de certificados y credenciales a la instancia de administración del dispositivo de la familia Snow

Una vez ejecutada la instancia de administración de Amazon EKS Anywhere, transfiera las credenciales y los certificados de los dispositivos Snowball Edge a la instancia de administración. Ejecute el comando siguiente desde el mismo directorio en el que guardó los archivos de credenciales y certificados en los procedimientos Cree una clave de acceso y un archivo de credenciales en el dispositivo de la familia Snow y Cree un archivo de certificados para la instancia de administración en el dispositivo de la familia Snow.

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

Verifica el contenido de los archivos en la instancia de administración de Amazon EKS Anywhere. A continuación se muestran ejemplos de los archivos de credenciales y 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-----