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 de forma que funcione en dispositivos desconectados, debe realizar algunos procedimientos adicionales antes de desconectar esos 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 Amazon EKS Anywhere en Snowball Edge

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 Snowball Edge a la red local.

  3. Obtenga las credenciales para desbloquear el dispositivo. Para obtener más información, consulte Obtener credenciales para acceder a Snowball Edge.

  4. Desbloquee el dispositivo. Para obtener más información, consulte Desbloqueo del dispositivo Snowball Edge. 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áticas de Amazon EKS Anywhere en dispositivos Snowball Edge

Puede utilizar herramientas de script de ejemplo para configurar el entorno y ejecutar una instancia de administración de Amazon EKS Anywhere o bien puede hacerlo manualmente. Para usar las herramientas de script, consulte Desbloqueo de dispositivos y configuración del entorno para Amazon EKS Anywhere. Si una vez configurado el entorno y cuando la instancia de administración de Amazon EKS Anywhere está en ejecución 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, consulte Configuración y ejecución manuales de Amazon EKS Anywhere en dispositivos Snowball Edge.

Configuración y ejecución manuales 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 de Snowball Edge.

Creación de un usuario local de IAM para Amazon EKS Anywhere

Para seguir las prácticas recomendadas de seguridad, cree un usuario de IAM 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.

Crear un usuario local en Snowball Edge

Utilice el comando create-user para crear el usuario de IAM de 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 Snowball Edge

Cree un documento de política, utilícelo para crear una política de IAM y asocie esa política al usuario local de Amazon EKS Anywhere.

Cómo crear un documento de política y asociarlo 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 comando create-policy para crear una política de IAM 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. Utilice el comando attach-user-policy para asociar la política de IAM 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 Snowball Edge

Cree una clave de acceso para el usuario local de IAM 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. Utilice el comando create-access-key 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 Snowball Edge

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 obtener acceso a los dispositivos Snowball Edge que la instancia de administración de Amazon EKS Anywhere usará 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 el procedimiento Creación de un usuario local de IAM para Amazon EKS Anywhere para crear un usuario local de IAM para Amazon EKS Anywhere en todos los dispositivos Snowball Edge.

(Opcional) Cree e importe una clave de Secure Shell en un Snowball Edge

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

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

Creación de una clave SSH e importación a la instancia Amazon EKS Anywhere
  1. Utilice el comando ssh-keygen para generar una clave SSH.

    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 Snowball Edge y transfiérale los archivos de credenciales y certificados

Ejecute una instancia de administración de Amazon EKS Anywhere en un Snowball Edge

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 clave SSH y conectarse a la instancia de administración con ella. Puede utilizar una herramienta de script de ejemplo 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 Creación de 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 desea configurar la instancia de Amazon EKS Anywhere manualmente, siga estos pasos.

nota

Si está utilizando 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.

Ejecución de una instancia de administración de Amazon EKS Anywhere
  1. Utilice el comando create-key-pair para crear una clave SSH 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 > key-file-name --profile profile-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. Utilice el comando run-instance para iniciar una instancia eks-a admin con la imagen de administración 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. Utilice el comando describe-instances 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 utilizará para crear una 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. 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 parámetro public-ip del comando associate-address 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 mediante SSH.

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

Transfiera los archivos de certificados y credenciales a la instancia de administración de Snowball Edge

Cuando la instancia de administración de Amazon EKS Anywhere esté en ejecución, 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 Snowball Edge y Cree un archivo de certificados para la instancia de administración en Snowball Edge.

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

Compruebe 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-----