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á.
Referência de ação de implantação do Amazon Elastic Kubernetes Service EKS
Você pode usar a ação EKSDeploy para implantar um serviço do Amazon EKS. A implantação exige um arquivo de manifesto do Kubernetes CodePipeline usado para implantar a imagem.
Antes de criar o pipeline, você também já deve ter criado os recursos do Amazon EKS e armazenado a imagem no repositório de imagens. Você também pode fornecer as informações do VPC para o cluster.
Importante
Essa ação usa CodeBuild computação CodePipeline gerenciada para executar comandos em um ambiente de compilação. A execução da ação Comandos incorrerá em cobranças separadas no AWS CodeBuild.
nota
A ação de implantação EKS está disponível somente para pipelines do tipo V2.
A ação do EKS oferece suporte a clusters do EKS públicos e privados. Os clusters privados são do tipo recomendado pelo EKS. No entanto, ambos os tipos são compatíveis.
A ação do EKS é compatível com ações entre contas. Para adicionar uma ação do EKS entre contas, adicione actionRoleArn da conta de destino na declaração de ação.
Tópicos
Tipo de ação
-
Categoria:
Deploy -
Proprietário:
AWS -
Fornecedor:
EKS -
Versão:
1
Parâmetros de configuração
- ClusterName
-
Obrigatório: Sim
O cluster do Amazon EKS no Amazon EKS.
- Opções no Helm
-
Estas serão as opções disponíveis quando o Helm for a ferramenta de implantação selecionada.
- HelmReleaseName
-
Obrigatório: sim (obrigatório apenas para o tipo Helm)
O nome da versão da implantação.
- HelmChartLocation
-
Obrigatório: sim (obrigatório apenas para o tipo Helm)
A localização do gráfico da implantação.
- HelmValuesFiles
-
Obrigatório: não (opcional apenas para o tipo Helm)
Para substituir os arquivos de valores do Helm, insira os arquivos de valores do Helm separados por vírgula no local do gráfico do Helm.
- Opções em Kubectl
-
Estas serão as opções disponíveis quando o Kubectl for a ferramenta de implantação selecionada.
- ManifestFiles
-
Obrigatório: sim (obrigatório apenas para o tipo Kubectl)
O nome do arquivo de manifesto, o arquivo de texto que descreve o nome de contêiner, a imagem e a tag do serviço. Você usa esse arquivo para parametrizar o URI da imagem e outras informações. Você pode usar uma variável de ambiente para essa finalidade.
Você armazena esse arquivo no repositório de origem do pipeline.
- Namespace
-
Obrigatório: não
O namespace Kubernetes a ser usado em nossos comandos.
kubectlhelm - Sub-redes
-
Obrigatório: não
As sub-redes da VPC do cluster. Elas fazem parte da mesma VPC conectada ao cluster. Você também pode fornecer sub-redes ainda não conectadas ao cluster e especificá-las aqui.
- SecurityGroupIds
-
Obrigatório: não
Os grupos de segurança da VPC do cluster. Elas fazem parte da mesma VPC conectada ao cluster. Você também pode fornecer grupos de segurança ainda não conectados ao cluster e especificá-los aqui.
Input artifacts (Artefatos de entrada)
-
Número de artefatos:
1 -
Descrição: a ação procura o arquivo de manifesto do Kubernetes ou o chart do Helm no repositório de arquivos de origem do pipeline. Se quiser usar gráficos do Helm no formato.tgz armazenados em um bucket do S3, você pode fazer isso configurando o Bucket/Key S3 como sua ação de origem. Por exemplo, a chave do objeto fornecida seria
my-chart-0.1.0.tgz.
Artefatos de saída
-
Número de artefatos:
0 -
Descrição: os artefatos de saída não se aplicam a esse tipo de ação.
Variáveis de ambiente
Usado para substituir variáveis como repositórios de imagens ou tags de imagem em arquivos de manifesto ou arquivos de valores do gráfico Helm.
- Chave
-
A chave em um par de variáveis do ambiente chave-valor, como
$IMAGE_TAG. - Valor
-
O valor do par chave-valor, como
v1.0. O valor pode ser parametrizado com variáveis de saída a partir de ações ou variáveis do pipeline. Por exemplo, o pipeline pode ter uma ECRBuildAndPublish ação que cria uma imagem ECR com${codepipeline.PipelineExecutionId}, e a ação EKS pode usar essa imagem usando${codepipeline.PipelineExecutionId}como valor da variável de ambiente.
Variáveis de saída
- EKSClusterName
-
O cluster do Amazon EKS no Amazon EKS.
Permissões de política de perfil de serviço
Para executar essa ação, as permissões a seguir devem estar disponíveis na política do perfil de serviço do pipeline.
-
Ações do EC2: Quando a ação CodePipeline é executada, as permissões da instância do EC2 são necessárias. Não se trata da mesma função da instância do EC2 necessária quando você cria o cluster do EKS.
Se estiver usando um perfil de serviço existente, para usar essa ação, você precisará adicionar as permissões a seguir para o perfil de serviço.
-
ec2: CreateNetworkInterface
-
ec2: DescribeDhcpOptions
-
ec2: DescribeNetworkInterfaces
-
ec2: DeleteNetworkInterface
-
ec2: DescribeSubnets
-
ec2: DescribeSecurityGroups
-
ec2: DescribeVpcs
-
-
Ações do EKS: quando a ação CodePipeline é executada, as permissões do cluster EKS são necessárias. Não se trata da mesma função do cluster do EKS do IAM necessária quando você cria o cluster do EKS.
Se estiver usando um perfil de serviço existente, para usar essa ação, você precisará adicionar a permissão a seguir para o perfil de serviço.
-
ex: DescribeCluster
-
-
Ações de fluxo de log: quando CodePipeline executa a ação, CodePipeline cria um grupo de logs usando o nome do pipeline da seguinte forma. Isso permite reduzir as permissões para os recursos de log usando o nome do pipeline.
/aws/codepipeline/MyPipelineNameSe estiver usando um perfil de serviço existente, para usar essa ação, você precisará adicionar as permissões a seguir para o perfil de serviço.
-
registros: CreateLogGroup
-
registros: CreateLogStream
-
registros: PutLogEvents
-
Na declaração da política do perfil de serviço, reduza o escopo das permissões até o nível de recurso conforme mostrado no exemplo a seguir.
Para visualizar logs no console usando a página de diálogo de detalhes da ação, a permissão para visualizar logs deve ser adicionada ao perfil do console. Para ter mais informações, consulte o exemplo de política de permissões do console em Permissões necessárias para visualizar os registros de computação no console.
Adição do perfil de serviço como uma entrada de acesso para o cluster
Depois que as permissões estiverem disponíveis na política de função de serviço do seu pipeline, você configura suas permissões de cluster adicionando a função de CodePipeline serviço como uma entrada de acesso para seu cluster.
Você também pode usar uma função de ação que tenha as permissões atualizadas. Para obter mais informações, consulte o exemplo do tutorial em Etapa 4: criar uma entrada de acesso para a função CodePipeline de serviço.
Declaração de ação
Consulte também
Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
-
Consulte Tutorial: Implante no Amazon EKS com CodePipeline acessar para um tutorial que demonstre como criar um cluster do EKS e um arquivo de manifesto do Kubernetes para adicionar a ação ao pipeline.