Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Referência de ação de implantação do Amazon Elastic Kubernetes Service EKS

Modo de foco
Referência de ação de implantação do Amazon Elastic Kubernetes Service EKS - AWS CodePipeline

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á.

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á.

Você pode usar a EKSDeploy ação para implantar um serviço Amazon EKS. A implantação requer um arquivo de manifesto do Kubernetes CodePipeline usado para implantar a imagem.

Antes de criar seu pipeline, você já deve ter criado os recursos do Amazon EKS e armazenado a imagem no seu repositório de imagens. Opcionalmente, você pode fornecer informações de VPC para seu 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 EKS implantação está disponível somente para pipelines do tipo V2.

A ação EKS oferece suporte a clusters EKS públicos e privados. Clusters privados são do tipo recomendado pelo EKS; no entanto, ambos os tipos são compatíveis.

A ação EKS é compatível com ações entre contas. Para adicionar uma ação EKS entre contas, adicione actionRoleArn da sua conta de destino na declaração de ação.

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 Amazon EKS no Amazon EKS.

Opções sob o comando

A seguir estão as opções disponíveis quando o Helm é a ferramenta de implantação selecionada.

HelmReleaseName

Obrigatório: Sim (obrigatório apenas para o tipo de capacete)

O nome da versão para sua implantação.

HelmChartLocation

Obrigatório: Sim (obrigatório apenas para o tipo de capacete)

A localização do gráfico para sua implantação.

HelmValuesFiles

Obrigatório: Não (opcional somente para o tipo de capacete)

A localização do gráfico para sua implantação.

Opções em Kubectl

Veja a seguir as opções disponíveis quando o Kubectl é a ferramenta de implantação selecionada.

ManifestFiles

Obrigatório: Sim (obrigatório somente para o tipo Kubectl)

O nome do seu arquivo de manifesto, o arquivo de texto que descreve o nome do contêiner do seu serviço, a imagem e a tag. Você usa esse arquivo para parametrizar o URI da imagem e outras informações. Você pode usar a variável de ambiente para essa finalidade.

Você armazena esse arquivo no repositório de origem do seu pipeline.

Namespace

Obrigatório: não

O namepace kubernetes a ser usado em nossos comandos. kubectl helm

Sub-redes

Obrigatório: não

As sub-redes da VPC do seu cluster. Eles fazem parte da mesma VPC conectada ao seu cluster. Você também pode fornecer sub-redes que ainda não estão conectadas ao seu cluster e especificá-las aqui.

SecurityGroupIds

Obrigatório: não

Os grupos de segurança da VPC do seu cluster. Eles fazem parte da mesma VPC conectada ao seu cluster. Você também pode fornecer grupos de segurança que ainda não estejam conectados ao seu 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 gráfico do Helm no repositório de arquivos de origem do pipeline).

    A ação requer uma imagem existente que já tenha sido enviada por push para o repositório de imagens. Como o mapeamento da imagem é fornecido pelo arquivo de manifesto, a ação não exige que a fonte do Amazon ECR seja incluída como uma ação de origem no pipeline.

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

Chave

A chave em um par de variáveis de ambiente chave-valor, como. Name

Valor

O valor do par de valores-chave, como. Production O valor pode ser parametrizado com variáveis de saída de ações do pipeline ou variáveis do pipeline.

Esse valor será substituído em seus arquivos de manifesto se a $Key correspondente estiver presente.

Variáveis de saída

EKSClusterNome

O cluster Amazon EKS no Amazon EKS.

Permissões de política de perfil de serviço

Para executar essa ação, as seguintes permissões devem estar disponíveis na política de função de serviço do seu pipeline.

  • EC2 ações: Quando CodePipeline executada, as permissões da EC2 instância de ação são necessárias. Observe que isso não é o mesmo que a função de EC2 instância exigida quando você cria seu cluster EKS.

    Se você estiver usando uma função de serviço existente, para usar essa ação, você precisará adicionar as seguintes permissões para a função de serviço.

    • ec2: CreateNetworkInterface

    • ec2: DescribeDhcpOptions

    • ec2: DescribeNetworkInterfaces

    • ec2: DeleteNetworkInterface

    • ec2: DescribeSubnets

    • ec2: DescribeSecurityGroups

    • ec2: DescribeVpcs

  • Ações do EKS: ao CodePipeline executar a ação, as permissões do cluster EKS são necessárias. Observe que isso não é o mesmo que a função de cluster IAM EKS exigida quando você cria seu cluster EKS.

    Se você estiver usando uma função de serviço existente, para usar essa ação, você precisará adicionar a seguinte permissão para a função de serviço.

    • ex: DescribeCluster

  • Ações de fluxo de log: ao CodePipeline executar a ação, CodePipeline cria um grupo de registros 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/MyPipelineName

    Se você estiver usando uma função de serviço existente, para usar essa ação, você precisará adicionar as seguintes permissões para a função de serviço.

    • troncos: CreateLogGroup

    • troncos: CreateLogStream

    • troncos: PutLogEvents

Na declaração de política de função de serviço, reduza as permissões até o nível do recurso, conforme mostrado no exemplo a seguir.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "arn:aws:eks:*:YOUR_AWS_ACCOUNT_ID:cluster/YOUR_CLUSTER_NAME" }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME","arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"] }, ] }

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 registros computacionais no console CodePipeline .

Adicionar a função de serviço como uma entrada de acesso para seu 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 emEtapa 4: criar uma entrada de acesso para a função CodePipeline de serviço.

Declaração de ação

YAML
Name: DeployEKS ActionTypeId: Category: Deploy Owner: AWS Provider: EKS Version: '1' RunOrder: 2 Configuration: ClusterName: my-eks-cluster ManifestFiles: ManifestFile.json OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact
JSON
{ "Name": "DeployECS", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "EKS", "Version": "1" }, "RunOrder": 2, "Configuration": { "ClusterName": "my-eks-cluster", "ManifestFiles": "ManifestFile.json" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ] },
Name: DeployEKS ActionTypeId: Category: Deploy Owner: AWS Provider: EKS Version: '1' RunOrder: 2 Configuration: ClusterName: my-eks-cluster ManifestFiles: ManifestFile.json OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.