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.
Referencia de acción de implementación de Amazon Elastic Kubernetes Service EKS
Puede usar la acción EKSDeploy para implementar un servicio de Amazon EKS. La implementación requiere un archivo de manifiesto de Kubernetes que CodePipeline se utilice para implementar la imagen.
Antes de crear la canalización, debe haber creado los recursos de Amazon ECS y haber almacenado la imagen en su repositorio de imágenes. Opcionalmente, puede proporcionar información de VPC para su clúster.
importante
Esta acción usa CodeBuild procesamiento CodePipeline administrado para ejecutar comandos en un entorno de compilación. Si ejecuta la acción de Comandos, se le cobrarán cargos por separado en AWS CodeBuild.
nota
La acción de implementación de EKS solo está disponible para canalizaciones de tipo V2.
La acción de EKS admite clústeres de EKS públicos y privados. Los clústeres privados son el tipo recomendado por EKS, pero se admiten ambos.
La acción de EKS es compatible con las acciones en varias cuentas. Para agregar una acción de EKS en varias cuentas, agregue actionRoleArn en su cuenta de destino en la declaración de la acción.
Temas
Tipo de acción
-
Categoría:
Deploy -
Propietario:
AWS -
Proveedor:
EKS -
Versión:
1
Parámetros de configuración
- ClusterName
-
Obligatorio: sí
El clúster de Amazon EKS en Amazon EKS.
- Opciones en Helm
-
Las siguientes opciones están disponibles cuando Helm es la herramienta de implementación seleccionada.
- HelmReleaseName
-
Obligatorio: sí (solo para el tipo Helm)
El nombre de la versión de la implementación.
- HelmChartLocation
-
Obligatorio: sí (solo para el tipo Helm)
La ubicación del gráfico para la implementación.
- HelmValuesFiles
-
Obligatorio: no (opcional solo para el tipo Helm)
Para anular los archivos de valores de Helm, introduzca los archivos de valores de Helm separados por comas en la ubicación del gráfico de Helm.
- Opciones en Kubectl
-
Las siguientes opciones están disponibles cuando Kubectl es la herramienta de implementación seleccionada.
- ManifestFiles
-
Obligatorio: sí (solo para el tipo Kubectl)
El nombre del archivo de manifiesto, el archivo de texto que describe el nombre del contenedor del servicio y la imagen y la etiqueta. Este archivo se usa para parametrizar el URI de la imagen y otra información. Puede usar una variable de entorno para este propósito.
Este archivo se almacena en el repositorio de origen de la canalización.
- Namespace
-
Obligatorio: no
El espacio de nombres de Kubernetes que se va a utilizar en los comandos o.
kubectlhelm - Subredes
-
Obligatorio: no
Las subredes de VPC para el clúster. Forman parte de la misma VPC que está conectada al clúster. También puede proporcionar subredes que aún no estén conectadas al clúster y especificarlas aquí.
- SecurityGroupIds
-
Obligatorio: no
Los grupos de seguridad de la VPC del clúster. Forman parte de la misma VPC que está conectada al clúster. También puede proporcionar grupos de seguridad que aún no estén conectados al clúster y especificarlos aquí.
Artefactos de entrada
-
Número de artefactos:
1 -
Descripción: la acción busca el archivo de manifiesto de Kubernetes o gráfico de Helm en el repositorio de archivos de origen para la canalización. Si quieres usar los gráficos de Helm en formato.tgz almacenados en un bucket de S3, puedes hacerlo configurando el S3 como tu acción de origen. Bucket/Key Por ejemplo, la clave de objeto proporcionada sería
my-chart-0.1.0.tgz.
Artefactos de salida
-
Número de artefactos:
0 -
Descripción: los artefactos de salida no se aplican a este tipo de acción.
Variables de entorno
Se usa para reemplazar variables como los repositorios de imágenes o las etiquetas de imágenes en los archivos de manifiesto o en los archivos de valores de los gráficos de Helm.
- Key
-
La clave de un par de variables de entorno de clave-valor, como
$IMAGE_TAG. - Valor
-
El valor del par clave-valor, como
v1.0. El valor se puede parametrizar con variables de salida de acciones o variables de canalización. Por ejemplo, Pipeline puede tener una ECRBuildAndPublish acción con la que crear una imagen ECR${codepipeline.PipelineExecutionId}, y la acción EKS puede usar esta imagen${codepipeline.PipelineExecutionId}como valor de la variable de entorno.
Variables de salida
- EKSClusterName
-
El clúster de Amazon EKS en Amazon EKS.
Permisos para las políticas de roles de servicio
Para ejecutar esta acción, los siguientes permisos deben estar disponibles en la política de rol de servicio de la canalización.
-
Acciones de EC2: cuando se CodePipeline ejecuta la acción, se requieren permisos de instancia de EC2. Tenga en cuenta que no es lo mismo que el rol de instancia de EC2 que se requiere al crear el clúster de EKS.
Si utiliza un rol de servicio existente, para utilizar esta acción tendrá que agregar los siguientes permisos para el rol de servicio.
-
ec2: CreateNetworkInterface
-
ec2: DescribeDhcpOptions
-
ec2: DescribeNetworkInterfaces
-
ec2: DeleteNetworkInterface
-
ec2: DescribeSubnets
-
ec2: DescribeSecurityGroups
-
ec2: DescribeVpcs
-
-
Acciones de EKS: cuando se CodePipeline ejecuta la acción, se requieren los permisos del clúster de EKS. Tenga en cuenta que no es lo mismo que el rol de clúster de EKS de IAM que se requiere al crear el clúster de EKS.
Si utiliza un rol de servicio existente, para utilizar esta acción tendrá que agregar el siguiente permiso para el rol de servicio.
-
Eks: DescribeCluster
-
-
Registrar las acciones del flujo: cuando CodePipeline se ejecuta la acción, CodePipeline crea un grupo de registros con el nombre de la canalización de la siguiente manera. Esto permite reducir los permisos para registrar los recursos mediante el nombre de la canalización.
/aws/codepipeline/MyPipelineNameSi utiliza un rol de servicio existente, para utilizar esta acción tendrá que agregar los siguientes permisos para el rol de servicio.
-
registros: CreateLogGroup
-
registros: CreateLogStream
-
registros: PutLogEvents
-
En la declaración de la política de rol de servicio, limite los permisos al nivel de recurso, como se muestra en el siguiente ejemplo.
Para ver los registros en la consola mediante la página del cuadro de diálogo de detalles de la acción, se debe agregar el permiso para ver los registros al rol de la consola. Para obtener más información, consulte el ejemplo de política de permisos para consolas en Los permisos necesarios para ver los registros de procesamiento en la consola.
Agregación del rol de servicio como entrada de acceso al clúster
Una vez que los permisos estén disponibles en la política de funciones de servicio de tu canalización, puedes configurar los permisos del clúster añadiendo la función de CodePipeline servicio como entrada de acceso para tu clúster.
También puede usar un rol de acción que tenga los permisos actualizados. Para obtener más información, consulte el tutorial de ejemplo en Paso 4: Cree una entrada de acceso para la función CodePipeline de servicio.
Declaración de acciones
Véase también
Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.
-
Consulte en Tutorial: Implemente en Amazon EKS con CodePipeline un tutorial que muestra cómo crear un clúster de EKS y un archivo de manifiesto de Kubernetes para agregar la acción a la canalización.