{
«Versión»: "2012-10-17",
«Declaración»: [
{
«Sid»: «Listar imágenes en el repositorio»,
«Efecto»: «Permitir»,
«Acción»: [
«ECR: lista de imágenes»
],
<AccountId>«Recurso»: «arn:aws:ecr :repository/*<region>»
},
{
«Sid»: «Obtener el token de autorización»,
«Efecto»: «Permitir»,
«Acción»: [
«ECR: getAuthorizationToken»
],
«Recurso»: «*»
},
{
«Sid»: «Administrar el contenido del repositorio»,
«Efecto»: «Permitir»,
«Acción»: [
«ECR: disponibilidad de capas de verificación por lotes»,
«ECR: obtenga la URL de descarga para la capa»,
«ECR: getRepository Policy»,
«ECR: Describa los repositorios»,
«ECR: lista de imágenes»,
«ECR: describe imágenes»,
«ECR: BatchGetImage»,
«ECR: iniciar la carga de capas»,
«ECR: UploadLayerPart»,
«ECR: Carga completa de capas»,
«ECR: PutImage»
],
<AccountId>«Recurso»: «arn:aws:ecr :repository/*<region>»
}
]
}
Limitaciones
- KMF ayudará a migrar imágenes de contenedores de registro como Google Container Registry (CGR), GitLab y Docker Hub a Amazon Elastic Container Registry (ECR) y actualizará el manifiesto de despliegue con la ubicación de la imagen que apunta a Amazon ECR, pero no enviará el archivo de despliegue a sus repositorios de Git. Los administradores deben hacerlo manualmente.
Arquitectura
Conjunto de tecnologías de entorno de origen
Google Kubernetes Engine: Google Kubernetes Engine (GKE) es un entorno gestionado y listo para la producción para ejecutar aplicaciones en contenedores que ofrece Google Cloud.
Conjunto de tecnologías del entorno objetivo
Amazon Elastic Kubernetes Service: Amazon Elastic Kubernetes Service (Amazon EKS) ofrece la flexibilidad necesaria para lanzar, lanzar y escalar aplicaciones de Kubernetes en AWS o en entornos locales. Amazon EKS lo ayuda a implementar clústeres seguros y de alta disponibilidad y automatiza las tareas clave, como la aplicación de parches, los nodos de aprovisionamiento y las actualizaciones.

Diagrama de arquitectura
Automação e escalabilidade

Flujo de trabajo de herramientas KMF
KMF está escrito en Go y la herramienta de línea de comandos (CLI) se puede usar para migrar cargas de trabajo y ayudar a automatizar las migraciones. El comando se puede incluir en un script de automatización. Como se muestra en el diagrama de flujo de trabajo, la herramienta KMF utiliza el archivo de configuración de la CLI de Kubernetes (KUBECONFIG) configurado para que GKE recopile los manifiestos de los recursos solicitados, que luego se modifican para adaptarlos al clúster de Kubernetes de destino de Amazon EKS antes de implementarlos.
Configuración CLI de KMF
Usando um binário já construído:
Usando un binario ya creado:
Etapas:
- Descarga el binario CLI de KMF para tu sistema operativo desde GitHub a tu estación de trabajo, donde te autenticaste en los clústeres de origen y destino. Hay binarios compilados para Mac OS, Linux y Windows en el directorio bin/ del repositorio.
- Para Mac OS, el binario está disponible en bin/mac/kmf
- Para el sistema operativo Linux, el binario está disponible en bin/linux/kmf
- Para el sistema operativo Windows, el binario está disponible en bin/windows/kmf
- Opcional: añada la herramienta a la ruta de su sistema operativo.
Construyendo el binario a partir de la fuente:
Etapas:
#1 Clona el repositorio aws-kubernetes-migration-factory.
clon de git https://github.com/awslabs/aws-kubernetes-migration-factory
#2 Cambie el directorio a aws-kubernetes-migration-factory.
cd aws-kubernetes-migration-factory/
#3 Ejecute este comando para crear el binario CLI de KMF.
go build
El binario CLI de KMF se creará dentro del directorio actual como un archivo denominado containers-migration-factory. Si quieres que sea un nombre más corto, como kmf, ejecuta el comando build de la siguiente manera:
go build -o ./bin/kmf
Ejecute la CLI de KMF