You push a new branch, your pipeline runs, and the deployment hangs. The culprit is usually access. Between Bitbucket’s CI runners and Amazon EKS, there is a maze of tokens, roles, and context switching. Most teams overcomplicate this, but Bitbucket EKS integration can be straightforward once you see the pattern.
Bitbucket manages your source and CI/CD pipelines. EKS runs your containers across AWS-managed Kubernetes clusters. Together, they should form a continuous path from commit to cluster. The challenge isn’t deployment, it’s identity. You need a trusted, automated way for Bitbucket jobs to reach EKS without handing out static credentials or cross-account keys.
The cleanest way is to link Bitbucket Pipelines to AWS using OpenID Connect (OIDC). Instead of storing AWS secrets in your repo, Bitbucket acts as an identity provider that exchanges short-lived tokens for an IAM role. That temporary role has the permissions your workflow needs to call kubectl or deploy via Helm. When the job ends, the token vanishes. No credentials sitting around, no panic later when someone forgets to rotate them.
For teams implementing Bitbucket EKS, the critical workflow is this: Bitbucket → OIDC → AWS IAM → EKS. The trust relationship is configured once in IAM, mapped to your pipeline’s environment. Each pipeline picks up the correct role through that OIDC link. You get ephemeral access scoped to your repo and branch, and EKS sees all requests as properly authenticated and auditable.
Common pitfalls are almost always about misaligned roles. If your pods crash on deployment or your pipelines throw AccessDenied, check the IAM trust policy. Make sure Bitbucket’s audience (aud) matches what AWS expects. Also verify that your OIDC provider is registered in the correct AWS region. A five-minute fix often replaces hours of guesswork.